diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -42,7 +42,7 @@ class manifestdict(dict): 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.''' @@ -55,12 +55,12 @@ class manifestdict(dict): 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 @@ def manifestmerge(repo, wctx, p2, pa, br # 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: