diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -424,6 +424,7 @@ class localrepository(object): changed.append(f) # update manifest + m1 = m1.copy() m1.update(new) for f in remove: if f in m1: @@ -1385,7 +1386,7 @@ class localrepository(object): man = self.manifest.ancestor(m1n, m2n) m1 = self.manifest.read(m1n) mf1 = self.manifest.readflags(m1n) - m2 = self.manifest.read(m2n) + m2 = self.manifest.read(m2n).copy() mf2 = self.manifest.readflags(m2n) ma = self.manifest.read(man) mfa = self.manifest.readflags(man)