[PATCH 5 of 6] record: minor refactoring of dorecord

Laurent Charignon lcharignon at fb.com
Fri Mar 13 16:21:56 CDT 2015


# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1426207823 25200
#      Thu Mar 12 17:50:23 2015 -0700
# Node ID c5650ec7e9b12e14b7d9be5b0997f0712e17016e
# Parent  2fdd632353a2381e88ed2572a4e691502adc5992
record: minor refactoring of dorecord

It prepares the way for introducing the flag to reverse hunk selection

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -39,6 +39,9 @@
 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall,
             filterfn, *pats, **opts):
     import merge as mergemod
+    hunkclasses = (crecordmod.uihunk, patch.recordhunk)
+    ishunk = lambda x: isinstance(x, hunkclasses)
+
     if not ui.interactive():
         raise util.Abort(_('running non-interactively, use %s instead') %
                          cmdsuggest)
@@ -96,10 +99,8 @@
 
         newandmodifiedfiles = set()
         for h in chunks:
-            iscrecordhunk = isinstance(h, crecordmod.uihunk)
-            ishunk = isinstance(h, patch.recordhunk)
             isnew = h.filename() in status.added
-            if (ishunk or iscrecordhunk) and isnew and not h in originalchunks:
+            if ishunk(h) and isnew and not h in originalchunks:
                 newandmodifiedfiles.add(h.filename())
 
         modified = set(status.modified)


More information about the Mercurial-devel mailing list