Mercurial > public > mercurial-scm > hg
diff hgext/graphlog.py @ 14042:9966c95b8c4f
graphmod: use revsets internally
Thanks for the idea and most of the implementation to Klaus Koch
Backs revisions() and filerevs() with DAG walker which can iterate through
arbitrary list of revisions instead of strict one by one iteration from start to
stop. When a gap occurs in a revisions (i.e. in file log), the next topological
parent within the revset is searched and the connection to it is printed in the
ascii graph.
File graph can draw sometimes more connections than previous version, because
graph is produced according to the revset, not according to a file's filelog.
In case the graph contains several branches where the left parent is null, the
graphs for each are printed sequentially, not in parallel as it was a case
earlier (see for example the graph for README in hg-dev).
author | Alexander Solovyov <alexander@solovyov.net> |
---|---|
date | Sun, 13 Mar 2011 15:53:38 +0100 |
parents | bfeaa88b875d |
children | 1c1e1232abdc |
line wrap: on
line diff
--- a/hgext/graphlog.py Fri Apr 29 03:34:18 2011 -0500 +++ b/hgext/graphlog.py Sun Mar 13 15:53:38 2011 +0100 @@ -249,8 +249,6 @@ if start == nullrev: return - if path: - path = scmutil.canonpath(repo.root, os.getcwd(), path) if path: # could be reset in canonpath revdag = graphmod.filerevs(repo, path, start, stop, limit) else: