Staging
v0.5.0
https://foss.heptapod.net/mercurial/hgview
Revision 0524dd843be030427a02e43f31d1b93063eb9258 authored by Pierre-Yves David on 12 September 2013, 13:12:41 UTC, committed by Pierre-Yves David on 12 September 2013, 13:12:41 UTC
When you filter out revision you may not just use direct parents of a changeset.
When parents is filtered out you need to find the first included ancestors. This
changeset change the __get_parents function to work that way. It takes a new
argument `included` that contains revision to consider in the graph. This
already fixes some bug with the filtering option currently available.

This function could be implemented recursively but this blow the python call
stack on big repo. So we implemented our stack by hand.

A dictionary is used as cache to prevent every revision to redo the same
computation all the time. This ensure a `O(repo.len)` complexity.

The results is still not perfect as it's a bit verbose regarding merges but it
is much better than before.

This is related to #109808. Proper graphing was the biggest blocker to implement
arbitrary filtering using revset.
1 parent 8711bf6
History
Tip revision: 0524dd843be030427a02e43f31d1b93063eb9258 authored by Pierre-Yves David on 12 September 2013, 13:12:41 UTC
[hggraph] handle gap in `__get_parent`
Tip revision: 0524dd8
File Mode Size
bin
debian
debian.squeeze
doc
hgext
hgviewlib
.hgignore -rw-r--r-- 49 bytes
.hgtags -rw-r--r-- 2.6 KB
COPYING -rw-r--r-- 17.6 KB
ChangeLog -rw-r--r-- 5.7 KB
MANIFEST.in -rw-r--r-- 682 bytes
README -rw-r--r-- 1.8 KB
__pkginfo__.py l--------- 24 bytes
debian.maverick l--------- 14 bytes
debian.natty l--------- 14 bytes
setup.py -rw-r--r-- 14.1 KB

README

back to top