[PATCH 2 of 2] bookmarks: Show (merged) in bookmark list for merged revs
David Shilvock
davels at telus.net
Sat Nov 8 06:31:32 UTC 2008
# HG changeset patch
# User David Shilvock <davels at telus.net>
# Date 1226121800 28800
# Node ID 05cdaad0f56628bbd61a1f5acb0f82e7c184c5ab
# Parent 8920535663e440f478dadd5b29a754966844786d
bookmarks: Show (merged) in bookmark list for merged revs
diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py
--- a/hgext/bookmarks.py
+++ b/hgext/bookmarks.py
@@ -121,11 +121,23 @@ def bookmark(ui, repo, mark=None, rev=No
ui.status("no bookmarks set\n")
else:
for bmark, n in marks.iteritems():
+ suffix = _nodeismerged(repo, n) and ' merged' or ''
prefix = (n == cur) and '*' or ' '
- ui.write(" %s %-25s %d:%s\n" % (
- prefix, bmark, repo.changelog.rev(n), hexfn(n)))
+ ui.write(" %s %-25s %d:%s%s\n" % (
+ prefix, bmark, repo.changelog.rev(n), hexfn(n), suffix))
return
+def _nodeismerged(repo, n):
+ # a node is considered merged if it: (1) has at least 1 child revision and
+ # (2) all it's children are merges
+ childs = repo.changelog.children(n)
+ if len(childs) == 0:
+ return False
+ for c in childs:
+ if repo.changelog.parents(c)[1] == nullid:
+ return False
+ return True
+
def _revstostrip(changelog, node):
srev = changelog.rev(node)
tostrip = [srev]
More information about the Mercurial-devel
mailing list