Patchwork [3,of,4] manifest: transpose pair of pairs from diff()

login
register
mail settings
Submitter Martin von Zweigbergk
Date Oct. 15, 2014, 7:02 a.m.
Message ID <d57d01770688805015bb.1413356568@handduk2.mtv.corp.google.com>
Download mbox | patch
Permalink /patch/6275/
State Accepted
Headers show

Comments

Martin von Zweigbergk - Oct. 15, 2014, 7:02 a.m.
# HG changeset patch
# User Martin von Zweigbergk <martinvonz@gmail.com>
# Date 1413353887 25200
#      Tue Oct 14 23:18:07 2014 -0700
# Node ID d57d01770688805015bbf991c43b9faf37396d61
# Parent  ddddc4ac16f6eedd5ecfab736f81e413e7163c70
manifest: transpose pair of pairs from diff()

It makes more sense for the file nodeids and returned from diff() to
be ((n1,fl1),(n2,fl2)) than ((n1,n2),(fl1,fl2)), so change it to the
former.

Patch

diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -41,7 +41,7 @@ 
     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
+        ((n1,fl1),(n2,fl2)), where n1/n2 is the nodeid in the current/other
         manifest and fl1/fl2 is the flag in the current/other manifest. Where
         the file does not exist, the nodeid will be None and the flags will be
         the empty string.'''
@@ -54,12 +54,12 @@ 
             if n2 is None:
                 fl2 = ''
             if n1 != n2 or fl1 != fl2:
-                diff[fn] = ((n1, n2), (fl1, fl2))
+                diff[fn] = ((n1, fl1), (n2, fl2))
 
         for fn, n2 in m2.iteritems():
             if fn not in self:
                 fl2 = m2._flags.get(fn, '')
-                diff[fn] = ((None, n2), ('', fl2))
+                diff[fn] = ((None, ''), (n2, fl2))
 
         return diff
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -424,7 +424,7 @@ 
     # Compare manifests
     diff = m1.diff(m2)
 
-    for f, ((n1, n2), (fl1, fl2)) in diff.iteritems():
+    for f, ((n1, fl1), (n2, fl2)) in diff.iteritems():
         if partial and not partial(f):
             continue
         if n1 and n2: