# HG changeset patch # User Martin Geisler # Date 1274774186 -7200 # Node ID ffd59c71b8ee13dc75bdc2bc4e98ab0d49a506fb # Parent 1abd9442727c09776181d58a178edf721c11aa72# Parent 1b8aa9ffa7dc3294aae767474bcf92bad63fb492 Merge with stable diff -r 1abd9442727c -r ffd59c71b8ee 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.