push-and-update - Keep a remote working tree up to date

Version 0.2.0dev
Branch lp:bzr-push-and-update
Home page https://launchpad.net/bzr-push-and-update
Owner jameinel
GNU/Linux Yes
Windows Yes
Mac OS X Yes

A plugin for pushing and updating a remote repository.

This assumes that you are pushing to an sftp:// or bzr+ssh:// location, and that bzr is installed on the remote machine.

All it really does is:

bzr push REMOTE ssh REMOTE bzr update



Update a mirror of this branch.


bzr push [LOCATION]


--stacked Create a stacked branch that references the public location of the parent branch.
--remember Remember the specified location as a default.
--strict Refuse to push if there are uncommitted changes in the working tree, –no-strict disables the check.
 Create the path leading up to the branch if it does not already exist.
-h, --help Show help message.
-q, --quiet Only display errors and warnings.
 Create a stacked branch that refers to another branch for the commit history. Only the work not present in the referenced branch is included in the branch created.
-d ARG, --directory=ARG
 Branch to push from, rather than the one containing the working directory.
 By default push will fail if the target directory exists, but does not already have a control directory. This flag will allow push to proceed.
--usage Show usage message and options.
-r ARG, --revision=ARG
 See “help revisionspec” for details.
--overwrite Ignore differences between branches and overwrite unconditionally.
-v, --verbose Display more information.


The target branch will not have its working tree populated because this is both expensive, and is not supported on remote file systems.

Some smart servers or protocols may put the working tree in place in the future.

This command only works on branches that have not diverged. Branches are considered diverged if the destination branch’s most recent commit is one that has not been merged (directly or indirectly) by the source branch.

If branches have diverged, you can use ‘bzr push –overwrite’ to replace the other branch completely, discarding its unmerged changes.

If you want to ensure you have the different changes in the other branch, do a merge (see bzr help merge) from the other branch, and commit that. After that you will be able to do a push without ‘–overwrite’.

If there is no default push location set, the first push will set it. After that, you can omit the location to use the default. To change the default, use –remember. The value will only be saved if the remote location can be accessed.

See also

pull, update, working-trees



Push to a remote location, and update the working tree.


bzr push-and-update [LOCATION]


--usage Show usage message and options.
-v, --verbose Display more information.
-q, --quiet Only display errors and warnings.
-h, --help Show help message.


This assumes that you have ssh access to the remote location, and that ‘bzr’ is installed remotely.