diff mercurial/localrepo.py @ 2109:1b183976e007

Revert push new heads logic This breaks push -r's new head detection but fixes the common case. For now we'll assume that someone doing push -r knows what they're doing.
author Matt Mackall <mpm@selenic.com>
date Fri, 21 Apr 2006 16:30:23 -0500
parents 30c7564f6dfc
children 8a1e2a9c7013
line wrap: on
line diff
--- a/mercurial/localrepo.py	Fri Apr 21 15:33:51 2006 -0500
+++ b/mercurial/localrepo.py	Fri Apr 21 16:30:23 2006 -0500
@@ -1039,14 +1039,10 @@
             self.ui.status(_("no changes found\n"))
             return 1
         elif not force:
-            if revs is not None:
-                updated_heads = {}
-                for base in msng_cl:
-                    for parent in self.changelog.parents(base):
-                        if parent in remote_heads:
-                            updated_heads[parent] = True
-                updated_heads = updated_heads.keys()
-            if len(updated_heads) < len(heads):
+            # FIXME we don't properly detect creation of new heads
+            # in the push -r case, assume the user knows what he's doing
+            if not revs and len(remote_heads) < len(heads) \
+                   and remote_heads != [nullid]:
                 self.ui.warn(_("abort: push creates new remote branches!\n"))
                 self.ui.status(_("(did you forget to merge?"
                                  " use push -f to force)\n"))