Merge with stable
authorMartin Geisler <mg@aragost.com>
Tue, 25 May 2010 09:56:26 +0200
changeset 11218 ffd59c71b8ee
parent 11216 1abd9442727c (current diff)
parent 11217 1b8aa9ffa7dc (diff)
child 11219 39a7f69a0a9a
Merge with stable
mercurial/commands.py
--- a/mercurial/commands.py	Mon May 24 00:55:42 2010 +0200
+++ b/mercurial/commands.py	Tue May 25 09:56:26 2010 +0200
@@ -2530,19 +2530,22 @@
 def push(ui, repo, dest=None, **opts):
     """push changes to the specified destination
 
-    Push changes from the local repository to the specified destination.
-
-    This is the symmetrical operation for pull. It moves changes from
-    the current repository to a different one. If the destination is
-    local this is identical to a pull in that directory from the
-    current one.
-
-    By default, push will refuse to run if it detects the result would
-    increase the number of remote heads. This generally indicates the
-    user forgot to pull and merge before pushing.
-
-    If -r/--rev is used, the named revision and all its ancestors will
-    be pushed to the remote repository.
+    Push changesets from the local repository to the specified
+    destination.
+
+    This operation is symmetrical to pull: it is identical to a pull
+    in the destination repository from the current one.
+
+    By default, push will not allow creation of new heads at the
+    destination, since multiple heads would make it unclear which head
+    to use. In this situation, it is recommended to pull and merge
+    before pushing.
+
+    Use -f/--force to override the default behavior and push all
+    changesets on all branches.
+
+    If -r/--rev is used, the specified revision and all its ancestors
+    will be pushed to the remote repository.
 
     Please see :hg:`help urls` for important details about ``ssh://``
     URLs. If DESTINATION is omitted, a default path will be used.