mercurial/manifest.py
changeset 22964 2793ecb1522d
parent 22943 117e81871113
child 22965 b697fa74b475
--- a/mercurial/manifest.py	Thu Oct 16 17:03:21 2014 +0900
+++ b/mercurial/manifest.py	Tue Oct 14 17:09:16 2014 -0700
@@ -38,8 +38,15 @@
                 if flags:
                     ret._flags[fn] = flags
         return ret
-    def flagsdiff(self, d2):
-        return dicthelpers.diff(self._flags, d2._flags, "")
+
+    def diff(self, m2):
+        '''Finds changes between the current manifest and m2. The result is
+        returned as a dict with filename as key and values of the form
+        ((n1,n2),(fl1,fl2)), where n1/n2 is the nodeid in the current/other
+        manifest and fl1/fl2 is the flag in the current/other manifest.'''
+        flagsdiff = dicthelpers.diff(self._flags, m2._flags, "")
+        fdiff = dicthelpers.diff(self, m2)
+        return dicthelpers.join(fdiff, flagsdiff)
 
     def text(self):
         """Get the full data of this manifest as a bytestring."""