mercurial/localrepo.py
changeset 10876 24ed7a541f23
parent 10864 8bc4ad7e34c8
parent 10875 a9702c47a19f
child 10877 dc097666de01
--- a/mercurial/localrepo.py	Tue Apr 06 08:54:18 2010 -0500
+++ b/mercurial/localrepo.py	Fri Apr 09 10:35:53 2010 +0200
@@ -1517,8 +1517,15 @@
             if len(lheads) > len(rheads):
                 warn = 1
             else:
+                # add local heads involved in the push
+                updatelheads = [self.changelog.heads(x, lheads)
+                                for x in update]
+                newheads = set(sum(updatelheads, [])) & set(lheads)
+
+                if not newheads:
+                    return True
+
                 # add heads we don't have or that are not involved in the push
-                newheads = set(lheads)
                 for r in rheads:
                     if r in self.changelog.nodemap:
                         desc = self.changelog.heads(r, heads)