Table of Contents (3.3.22)

# push

Purpose:

  Update a mirror of this branch.

Usage:

  brz push [LOCATION]

Options:
  `--create-prefix`

    Create the path leading up to the branch if it does not already exist.

  `-d ARG, --directory=ARG`

    Branch to push from, rather than the one containing the working directory.

  `-h, --help`

    Show help message.

  `--lossy`

    Allow lossy push, i.e. dropping metadata that can’t be represented in the target.

  `--no-tree`

    Don’t populate the working tree, even for protocols that support it.

  `--overwrite`

    Ignore differences between branches and overwrite unconditionally.

  `--overwrite-tags`

    Overwrite tags only.

  `-q, --quiet`

    Only display errors and warnings.

  `--remember`

    Remember the specified location as a default.

  `-r ARG, --revision=ARG`

    See “help revisionspec” for details.

  `--stacked`

    Create a stacked branch that references the public location of the parent branch.

  `--stacked-on=ARG`

    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.

  `--strict`

    Refuse to push if there are uncommitted changes in the working tree, –no-strict disables the check.

  `--usage`

    Show usage message and options.

  `--use-existing-dir`

    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.

  `-v, --verbose`

    Display more information.

Description:

  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 ‘brz 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 brz 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 (use –no-remember to avoid setting 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.

  The –verbose option will display the revisions pushed using the log_format configuration option. You can use a different format by overriding it with -Olog_format=<other_format>.

See also:

  pull, update, working-trees