record: extract code to compute newly added and modified files
authorLaurent Charignon <lcharignon@fb.com>
Thu, 21 May 2015 14:32:14 -0700
changeset 25257 07326d76f19d
parent 25256 5a8398b085ed
child 25258 f37a69ec3f47
record: extract code to compute newly added and modified files We want to reuse this logic in revert.
mercurial/cmdutil.py
--- a/mercurial/cmdutil.py	Thu May 21 14:28:02 2015 -0700
+++ b/mercurial/cmdutil.py	Thu May 21 14:32:14 2015 -0700
@@ -21,6 +21,14 @@
     hunkclasses = (crecordmod.uihunk, patch.recordhunk)
     return isinstance(x, hunkclasses)
 
+def newandmodified(chunks, originalchunks):
+    newlyaddedandmodifiedfiles = set()
+    for chunk in chunks:
+        if ishunk(chunk) and chunk.header.isnewfile() and chunk not in \
+            originalchunks:
+            newlyaddedandmodifiedfiles.add(chunk.header.filename())
+    return newlyaddedandmodifiedfiles
+
 def parsealiases(cmd):
     return cmd.lstrip("^").split("|")
 
@@ -109,11 +117,7 @@
         # We need to keep a backup of files that have been newly added and
         # modified during the recording process because there is a previous
         # version without the edit in the workdir
-        newlyaddedandmodifiedfiles = set()
-        for chunk in chunks:
-            if ishunk(chunk) and chunk.header.isnewfile() and chunk not in \
-                originalchunks:
-                newlyaddedandmodifiedfiles.add(chunk.header.filename())
+        newlyaddedandmodifiedfiles = newandmodified(chunks, originalchunks)
         contenders = set()
         for h in chunks:
             try: