Mercurial > public > mercurial-scm > hg
diff mercurial/graphmod.py @ 31552:d0b9e9803caf
graphlog: draw multiple edges towards null node (issue5440)
Before, edge (r, null) was processed only once by newparents. However what
we really need is just stripping the edge (null, null).
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 20 Mar 2017 11:50:55 +0900 |
parents | aea06029919e |
children | 906da89821ce |
line wrap: on
line diff
--- a/mercurial/graphmod.py Tue Mar 21 18:36:14 2017 -0400 +++ b/mercurial/graphmod.py Mon Mar 20 11:50:55 2017 +0900 @@ -182,6 +182,9 @@ knownparents = [] newparents = [] for ptype, parent in parents: + if parent == rev: + # self reference (should only be seen in null rev) + continue if parent in seen: knownparents.append(parent) else: @@ -191,8 +194,7 @@ ncols = len(seen) nextseen = seen[:] nextseen[nodeidx:nodeidx + 1] = newparents - edges = [(nodeidx, nextseen.index(p)) - for p in knownparents if p != nullrev] + edges = [(nodeidx, nextseen.index(p)) for p in knownparents] seen[:] = nextseen while len(newparents) > 2: