diff mercurial/localrepo.py @ 10876:24ed7a541f23

merge with stable
author Sune Foldager <cryo@cyanite.org>
date Fri, 09 Apr 2010 10:35:53 +0200
parents 8bc4ad7e34c8 a9702c47a19f
children dc097666de01
line wrap: on
line diff
--- 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)