diff mercurial/manifest.py @ 24184:cd66080ef6d4

copies: move code into new manifestdict.filesnotin() method copies._computeforwardmissing() finds files in one context that is not in the other. Let's move this code into a new method on manifestdict, so m1.filesnotin(m2) can be optimized for various types of manifests (we expect more types of manifests soon).
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 27 Feb 2015 13:57:37 -0800
parents ba4fcd80079d
children feddc5284724
line wrap: on
line diff
--- a/mercurial/manifest.py	Fri Feb 27 23:30:42 2015 -0500
+++ b/mercurial/manifest.py	Fri Feb 27 13:57:37 2015 -0800
@@ -38,6 +38,12 @@
                     ret._flags[fn] = flags
         return ret
 
+    def filesnotin(self, m2):
+        '''Set of files in this manifest that are not in the other'''
+        files = set(self.iterkeys())
+        files.difference_update(m2.iterkeys())
+        return files
+
     def matches(self, match):
         '''generate a new manifest filtered by the match argument'''
         if match.always():