D581: scmutil: add formatter a optional arg to cleanupnodes to show hash changes
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Thu Aug 31 13:03:31 EDT 2017
pulkit updated this revision to Diff 1474.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D581?vs=1473&id=1474
REVISION DETAIL
https://phab.mercurial-scm.org/D581
AFFECTED FILES
mercurial/scmutil.py
CHANGE DETAILS
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -576,7 +576,7 @@
def __contains__(self, node):
return self._revcontains(self._torev(node))
-def cleanupnodes(repo, mapping, operation):
+def cleanupnodes(repo, mapping, operation, fm=None):
"""do common cleanups when old nodes are replaced by new nodes
That includes writing obsmarkers or stripping nodes, and moving bookmarks.
@@ -646,6 +646,19 @@
from . import repair # avoid import cycle
repair.delayedstrip(repo.ui, repo, list(mapping), operation)
+ # Display the hash changes if a formatter instance is passed.
+ if fm:
+ oldnodes = sorted(mapping.keys())
+ hexfunc = fm.hexfunc
+ label = 'cleanupnodes'
+ for node in oldnodes:
+ newnodes = mapping[node]
+ if len(newnodes) == 1:
+ newnode = newnodes[0]
+ fm.startitem()
+ fm.write('oldnode', '%s -> ', hexfunc(node), label=label)
+ fm.write('newnode', '%s\n', hexfunc(newnode), label=label)
+
def addremove(repo, matcher, prefix, opts=None, dry_run=None, similarity=None):
if opts is None:
opts = {}
To: pulkit, #hg-reviewers
Cc: akushner, mercurial-devel
More information about the Mercurial-devel
mailing list