Staging
v0.5.1
swh:1:snp:94aae2785f73ccaec5983b9f5ce071eed323eccf
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: 1850a087c1b6cb026470c738b2c7f82c6fada06d authored by Mads Kiilerich on 04 April 2020, 02:27:44 UTC
qt5: renaming of references to hgviewlib/qt5, finishing up the Qt5 port
Tip revision: 1850a08
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