Man page for Bazaar (bzr)

Date: 2007-06-26

Index


Name

Bazaar (bzr) - next-generation distributed version control

Synopsis

bzr command [ command_options ]

bzr help

bzr help command

Description

Bazaar (or bzr) is a project of Canonical to develop an open source distributed version control system that is powerful, friendly, and scalable. Version control means a system that keeps track of previous revisions of software source code or similar information and helps people work on it in teams.

Command overview

bzr add [FILE...]
Add specified files or directories.
bzr annotate FILENAME
Show the origin of each line in a file.
bzr bind [LOCATION]
Convert the current branch into a checkout of the supplied branch.
bzr branch FROM_LOCATION [TO_LOCATION]
Create a new copy of a branch.
bzr break-lock [LOCATION]
Break a dead lock on a repository, branch or working directory.
bzr bundle-revisions [BASE]
Generate a revision bundle.
bzr cat FILENAME
Write the contents of a file as of a given revision to standard output.
bzr check [BRANCH]
Validate consistency of branch history.
bzr checkout [BRANCH_LOCATION] [TO_LOCATION]
Create a new checkout of an existing branch.
bzr commit [SELECTED...]
Commit changes into a new revision.
bzr conflicts
List files with conflicts.
bzr deleted
List files deleted in the working tree.
bzr diff [FILE...]
Show differences in the working tree or between revisions.
bzr export DEST [BRANCH]
Export current or past revision to a destination directory or archive.
bzr help [TOPIC]
Show help on a command or other topic.
bzr ignore [NAME_PATTERN...]
Ignore specified files or patterns.
bzr ignored
List ignored files and the patterns that matched them.
bzr info [LOCATION]
Show information about a working tree, branch or repository.
bzr init [LOCATION]
Make a directory into a versioned branch.
bzr init-repository LOCATION
Create a shared repository to hold branches.
bzr log [LOCATION]
Show log of a branch, file, or directory.
bzr ls [PATH]
List files in a tree.
bzr merge [BRANCH]
Perform a three-way merge.
bzr merge-directive [SUBMIT_BRANCH] [PUBLIC_BRANCH]
Generate a merge directive for auto-merge tools.
bzr missing [OTHER_BRANCH]
Show unmerged/unpulled revisions between two branches.
bzr mkdir DIR...
Create a new versioned directory.
bzr mv [NAMES...]
Move or rename a file.
bzr nick [NICKNAME]
Print or set the branch nickname.
bzr pull [LOCATION]
Turn this branch into a mirror of another branch.
bzr push [LOCATION]
Update a mirror of this branch.
bzr reconcile [BRANCH]
Reconcile bzr metadata in a branch.
bzr remerge [FILE...]
Redo a merge.
bzr remove [FILE...]
Remove files or directories.
bzr remove-tree [LOCATION]
Remove the working tree from a given branch/checkout.
bzr renames [DIR]
Show list of renamed files.
bzr resolve [FILE...]
Mark a conflict as resolved.
bzr revert [FILE...]
Revert files to a previous revision.
bzr revno [LOCATION]
Show current revision number.
bzr root [FILENAME]
Show the tree root directory.
bzr serve
Run the bzr server.
bzr sign-my-commits [LOCATION] [COMMITTER]
Sign all commits by a given committer.
bzr status [FILE...]
Display status summary.
bzr tag TAG_NAME
Create a tag naming a revision.
bzr tags
List tags.
bzr testament [BRANCH]
Show testament (signing-form) of a revision.
bzr unbind
Convert the current checkout into a regular branch.
bzr uncommit [LOCATION]
Remove the last committed revision.
bzr update [DIR]
Update a tree to have the latest code committed to its branch.
bzr upgrade [URL]
Upgrade branch storage to current format.
bzr version
Show version of bzr.
bzr version-info [LOCATION]
Show version information about this tree.
bzr whoami [NAME]
Show or set bzr user id.

Command reference

bzr add [FILE...]

Options:
--dry-run                 show what would be done, but don't
                          actually do anything
--file-ids-from ARG       Lookup file ids from here
--help, -h                show help message
--no-recurse
--verbose, -v             display more information

See also: remove

Add specified files or directories.

In non-recursive mode, all the named items are added, regardless
of whether they were previously ignored.  A warning is given if
any of the named files are already versioned.

In recursive mode (the default), files are treated the same way
but the behaviour for directories is different.  Directories that
are already versioned do not give a warning.  All directories,
whether already versioned or not, are searched for files or
subdirectories that are neither versioned or ignored, and these
are added.  This search proceeds recursively into versioned
directories.  If no names are given '.' is assumed.

Therefore simply saying 'bzr add' will version all files that
are currently unknown.

Adding a file whose parent directory is not versioned will
implicitly add the parent, and so on up to the root. This means
you should never need to explicitly add a directory, they'll just
get added when you add a file in the directory.

--dry-run will show which files would be added, but not actually
add them.

--file-ids-from will try to use the file ids from the supplied path.
It looks up ids trying to find a matching parent directory with the
same filename, and then by pure path. This option is rarely needed
but can be useful when adding the same logical file into two
branches that will be merged later (without showing the two different
adds as a conflict). It is also useful when merging another project
into a subdirectory of this one.

bzr annotate FILENAME

Options:
--all                     show annotations on all lines
--help, -h                show help message
--long                    show date in annotations
--revision ARG, -r        See 'help revisionspec' for details
--show-ids                show internal object ids

Aliases: ann, blame, praise

Show the origin of each line in a file.

This prints out the given file with an annotation on the left side
indicating which revision, author and date introduced the change.

If the origin is the same for a run of consecutive lines, it is
shown only at the top, unless the --all option is given.

bzr bind [LOCATION]

Options:
--help, -h                show help message

See also: checkouts, unbind

Convert the current branch into a checkout of the supplied branch.

Once converted into a checkout, commits must succeed on the master branch
before they will be applied to the local branch.

bzr branch FROM_LOCATION [TO_LOCATION]

Options:
--help, -h                show help message
--revision ARG, -r        See 'help revisionspec' for details

Aliases: get, clone

See also: checkout

Create a new copy of a branch.

If the TO_LOCATION is omitted, the last component of the FROM_LOCATION will
be used.  In other words, "branch ../foo/bar" will attempt to create ./bar.

To retrieve the branch as of a particular revision, supply the --revision
parameter, as in "branch foo/bar -r 5".

bzr break-lock [LOCATION]

Options:
--help, -h                show help message

Break a dead lock on a repository, branch or working directory.

CAUTION: Locks should only be broken when you are sure that the process
holding the lock has been stopped.

You can get information on what locks are open via the 'bzr info' command.

example:
    bzr break-lock

bzr bundle-revisions [BASE]

Options:
--help, -h                show help message
--output ARG              write bundle to specified file
--remember                Remember the specified location as a
                          default.
--revision ARG, -r        See 'help revisionspec' for details

Alias: bundle

Generate a revision bundle.

This bundle contains all of the meta-information of a
diff, rather than just containing the patch information.

You can apply it to another tree using 'bzr merge'.

bzr bundle-revisions
    - Generate a bundle relative to a remembered location

bzr bundle-revisions BASE
    - Bundle to apply the current tree into BASE

bzr bundle-revisions --revision A
    - Bundle to apply revision A to remembered location

bzr bundle-revisions --revision A..B
    - Bundle to transform A into B

bzr cat FILENAME

Options:
--help, -h                show help message
--name-from-revision      The path name in the old tree.
--revision ARG, -r        See 'help revisionspec' for details

See also: ls

Write the contents of a file as of a given revision to standard output.

If no revision is nominated, the last revision is used.

Note: Take care to redirect standard output when using this command on a
binary file.

bzr check [BRANCH]

Options:
--help, -h                show help message
--verbose, -v             display more information

See also: reconcile

Validate consistency of branch history.

This command checks various invariants about the branch storage to
detect data corruption or bzr bugs.

bzr checkout [BRANCH_LOCATION] [TO_LOCATION]

Options:
--help, -h                show help message
--lightweight             perform a lightweight checkout.
                          Lightweight checkouts depend on access
                          to the branch for every operation.
                          Normal checkouts can perform common
                          operations like diff and status without
                          such access, and also support local
                          commits.
--revision ARG, -r        See 'help revisionspec' for details

Alias: co

See also: branch, checkouts

Create a new checkout of an existing branch.

If BRANCH_LOCATION is omitted, checkout will reconstitute a working tree for
the branch found in '.'. This is useful if you have removed the working tree
or if it was never created - i.e. if you pushed the branch to its current
location using SFTP.

If the TO_LOCATION is omitted, the last component of the BRANCH_LOCATION will
be used.  In other words, "checkout ../foo/bar" will attempt to create ./bar.

To retrieve the branch as of a particular revision, supply the --revision
parameter, as in "checkout foo/bar -r 5". Note that this will be immediately
out of date [so you cannot commit] but it may be useful (i.e. to examine old
code.)

bzr commit [SELECTED...]

Options:
--file MSGFILE, -F        file containing commit message
--fixes ARG               mark a bug as being fixed by this
                          revision.
--help, -h                show help message
--local                   perform a local only commit in a bound
                          branch. Such commits are not pushed to
                          the master branch until a normal commit
                          is performed.
--message ARG, -m
--strict                  refuse to commit if there are unknown
                          files in the working tree.
--unchanged               commit even if nothing has changed
--verbose, -v             display more information

Aliases: ci, checkin

See also: bugs, uncommit

Commit changes into a new revision.

If no arguments are given, the entire tree is committed.

If selected files are specified, only changes to those files are
committed.  If a directory is specified then the directory and everything
within it is committed.

A selected-file commit may fail in some cases where the committed
tree would be invalid. Consider::

  bzr init foo
  mkdir foo/bar
  bzr add foo/bar
  bzr commit foo -m "committing foo"
  bzr mv foo/bar foo/baz
  mkdir foo/bar
  bzr add foo/bar
  bzr commit foo/bar -m "committing bar but not baz"

In the example above, the last commit will fail by design. This gives
the user the opportunity to decide whether they want to commit the
rename at the same time, separately first, or not at all. (As a general
rule, when in doubt, Bazaar has a policy of Doing the Safe Thing.)

Note: A selected-file commit after a merge is not yet supported.

bzr conflicts

Options:
--help, -h                show help message
--text                    list text conflicts by pathname

List files with conflicts.

Merge will do its best to combine the changes in two branches, but there
are some kinds of problems only a human can fix.  When it encounters those,
it will mark a conflict.  A conflict means that you need to fix something,
before you should commit.

Conflicts normally are listed as short, human-readable messages.  If --text
is supplied, the pathnames of files with text conflicts are listed,
instead.  (This is useful for editing all files with text conflicts.)

Use bzr resolve when you have fixed a problem.

See also bzr resolve.

bzr deleted

Options:
--help, -h                show help message
--show-ids                show internal object ids

See also: ls, status

List files deleted in the working tree.

bzr diff [FILE...]

Options:
--diff-options ARG
--help, -h                show help message
--prefix ARG, -p          Set prefixes to added to old and new
                          filenames, as two values separated by a
                          colon. (eg "old/:new/")
--revision ARG, -r        See 'help revisionspec' for details

Aliases: di, dif

See also: status

Show differences in the working tree or between revisions.

If files are listed, only the changes in those files are listed.
Otherwise, all changes for the tree are listed.

"bzr diff -p1" is equivalent to "bzr diff --prefix old/:new/", and
produces patches suitable for "patch -p1".

examples:
    bzr diff
        Shows the difference in the working tree versus the last commit
    bzr diff -r1
        Difference between the working tree and revision 1
    bzr diff -r1..2
        Difference between revision 2 and revision 1
    bzr diff --prefix old/:new/
        Same as 'bzr diff' but prefix paths with old/ and new/
    bzr diff bzr.mine bzr.dev
        Show the differences between the two working trees
    bzr diff foo.c
        Show just the differences for 'foo.c'

bzr export DEST [BRANCH]

Options:
--format ARG
--help, -h                show help message
--revision ARG, -r        See 'help revisionspec' for details
--root ARG

Export current or past revision to a destination directory or archive.

If no revision is specified this exports the last committed revision.

Format may be an "exporter" name, such as tar, tgz, tbz2.  If none is
given, try to find the format with the extension. If no extension
is found exports to a directory (equivalent to --format=dir).

If root is supplied, it will be used as the root directory inside
container formats (tar, zip, etc). If it is not supplied it will default
to the exported filename. The root option has no effect for 'dir' format.

If branch is omitted then the branch containing the current working
directory will be used.

Note: Export of tree with non-ASCII filenames to zip is not supported.

 Supported formats       Autodetected by extension
 -----------------       -------------------------
     dir                            -
     tar                          .tar
     tbz2                    .tar.bz2, .tbz2
     tgz                      .tar.gz, .tgz
     zip                          .zip

bzr help [TOPIC]

Options:
--help, -h                show help message
--long                    show help on all commands

Aliases: ?, --help, -?, -h

See also: topics

Show help on a command or other topic.

bzr ignore [NAME_PATTERN...]

Options:
--help, -h                show help message
--old-default-rules       Out the ignore rules bzr < 0.9 always
                          used.

See also: ignored, status

Ignore specified files or patterns.

To remove patterns from the ignore list, edit the .bzrignore file.

Trailing slashes on patterns are ignored.
If the pattern contains a slash or is a regular expression, it is compared
to the whole path from the branch root.  Otherwise, it is compared to only
the last component of the path.  To match a file only in the root
directory, prepend './'.

Ignore patterns specifying absolute paths are not allowed.

Ignore patterns may include globbing wildcards such as:
  ? - Matches any single character except '/'
  * - Matches 0 or more characters except '/'
  /**/ - Matches 0 or more directories in a path
  [a-z] - Matches a single character from within a group of characters

Ignore patterns may also be Python regular expressions.
Regular expression ignore patterns are identified by a 'RE:' prefix
followed by the regular expression.  Regular expression ignore patterns
may not include named or numbered groups.

Note: ignore patterns containing shell wildcards must be quoted from
the shell on Unix.

examples:
    bzr ignore ./Makefile
    bzr ignore '*.class'
    bzr ignore 'lib/**/*.o'
    bzr ignore 'RE:lib/.*\.o'

bzr ignored

Options:
--help, -h                show help message

See also: ignore

List ignored files and the patterns that matched them.

bzr info [LOCATION]

Options:
--help, -h                show help message
--verbose, -v             display more information

See also: revno

Show information about a working tree, branch or repository.

This command will show all known locations and formats associated to the
tree, branch or repository.  Statistical information is included with
each report.

Branches and working trees will also report any missing revisions.

bzr init [LOCATION]

Options:
--append-revisions-only   Never change revnos or the existing log.
                          Append revisions to it only.
--format ARG              Specify a format for this branch. See
                          "help formats".
--default                 New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate                New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate-tags           New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for tags.
                          Incompatible with bzr < 0.15.
--dirstate-with-subtree   New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for versioning
                          nested bzr branches. Incompatible with
                          bzr < 0.15.
--knit                    Format using knits.  Recommended for
                          interoperation with bzr <= 0.14.
--metaweave               Transitional format in 0.8.  Slower than
                          knit.
--weave                   Pre-0.8 format.  Slower than knit and
                          does not support checkouts or shared
                          repositories.
--help, -h                show help message

See also: branch, checkout, init-repo

Make a directory into a versioned branch.

Use this to create an empty branch, or before importing an
existing project.

If there is a repository in a parent directory of the location, then
the history of the branch will be stored in the repository.  Otherwise
init creates a standalone branch which carries its own history
in the .bzr directory.

If there is already a branch at the location but it has no working tree,
the tree can be populated with 'bzr checkout'.

Recipe for importing a tree of files:
    cd ~/project
    bzr init
    bzr add .
    bzr status
    bzr commit -m 'imported project'

bzr init-repository LOCATION

Options:
--format ARG              Specify a format for this repository.
                          See "bzr help formats" for details
--default                 New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate                New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate-tags           New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for tags.
                          Incompatible with bzr < 0.15.
--dirstate-with-subtree   New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for versioning
                          nested bzr branches. Incompatible with
                          bzr < 0.15.
--knit                    Format using knits.  Recommended for
                          interoperation with bzr <= 0.14.
--metaweave               Transitional format in 0.8.  Slower than
                          knit.
--weave                   Pre-0.8 format.  Slower than knit and
                          does not support checkouts or shared
                          repositories.
--help, -h                show help message
--no-trees                Branches in the repository will default
                          to not having a working tree

Alias: init-repo

See also: branch, checkout, init

Create a shared repository to hold branches.

New branches created under the repository directory will store their revisions
in the repository, not in the branch directory.

example:
    bzr init-repo --no-trees repo
    bzr init repo/trunk
    bzr checkout --lightweight repo/trunk trunk-checkout
    cd trunk-checkout
    (add files here)

bzr log [LOCATION]

Options:
--forward                 show from oldest to newest
--help, -h                show help message
--log-format ARG          Use this log format
--line                    Log format with one line per revision
--long                    Detailed log format
--short                   Moderately short log format
--message ARG, -m         show revisions whose message matches
                          this regexp
--revision ARG, -r        See 'help revisionspec' for details
--show-ids                show internal object ids
--timezone ARG            display timezone as local, original, or
                          utc
--verbose, -v             show files changed in each revision

Show log of a branch, file, or directory.

By default show the log of the branch containing the working directory.

To request a range of logs, you can use the command -r begin..end
-r revision requests a specific revision, -r ..end or -r begin.. are
also valid.

examples:
    bzr log
    bzr log foo.c
    bzr log -r -10.. http://server/branch

bzr ls [PATH]

Options:
--from-root               Print all paths from the root of the
                          branch.
--help, -h                show help message
--ignored                 Print ignored files
--kind ARG
--non-recursive           don't recurse into sub-directories
--null                    Null separate the files
--revision ARG, -r        See 'help revisionspec' for details
--show-ids                show internal object ids
--unknown                 Print unknown files
--verbose, -v             display more information
--versioned               Print versioned files

See also: cat, status

List files in a tree.

bzr merge [BRANCH]

Options:
--directory ARG, -d       Branch to merge into, rather than the
                          one containing the working directory
--force
--help, -h                show help message
--merge-type ARG          Select a particular merge algorithm
--diff3                   Merge using external diff3
--merge3                  Native diff3-style merge
--weave                   Weave-based merge
--pull                    If the destination is already completely
                          merged into the source, pull from the
                          source rather than merging. When this
                          happens, you do not need to commit the
                          result.
--remember                Remember the specified location as a
                          default.
--reprocess               Reprocess to reduce spurious conflicts
--revision ARG, -r        See 'help revisionspec' for details
--show-base               Show base revision text in conflicts
--uncommitted             Apply uncommitted changes from a working
                          copy, instead of branch changes

See also: remerge, update

Perform a three-way merge.

The branch is the branch you will merge from.  By default, it will merge
the latest revision.  If you specify a revision, that revision will be
merged.  If you specify two revisions, the first will be used as a BASE,
and the second one as OTHER.  Revision numbers are always relative to the
specified branch.

By default, bzr will try to merge in all new work from the other
branch, automatically determining an appropriate base.  If this
fails, you may need to give an explicit base.

Merge will do its best to combine the changes in two branches, but there
are some kinds of problems only a human can fix.  When it encounters those,
it will mark a conflict.  A conflict means that you need to fix something,
before you should commit.

Use bzr resolve when you have fixed a problem.  See also bzr conflicts.

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

The results of the merge are placed into the destination working
directory, where they can be reviewed (with bzr diff), tested, and then
committed to record the result of the merge.

Examples:

To merge the latest revision from bzr.dev:
    bzr merge ../bzr.dev

To merge changes up to and including revision 82 from bzr.dev:
    bzr merge -r 82 ../bzr.dev

To merge the changes introduced by 82, without previous changes:
    bzr merge -r 81..82 ../bzr.dev

merge refuses to run if there are any uncommitted changes, unless
--force is given.

bzr merge-directive [SUBMIT_BRANCH] [PUBLIC_BRANCH]

Options:
--help, -h                show help message
--mail-to ARG             Instead of printing the directive, email
                          to this address
--message ARG, -m         Message to use when committing this
                          merge
--patch-type ARG          No patch, just directive
--bundle                  Bazaar revision bundle (default)
--diff                    Normal unified diff
--plain                   No patch, just directive
--revision ARG, -r        See 'help revisionspec' for details
--sign                    GPG-sign the directive

Generate a merge directive for auto-merge tools.

A directive requests a merge to be performed, and also provides all the
information necessary to do so.  This means it must either include a
revision bundle, or the location of a branch containing the desired
revision.

A submit branch (the location to merge into) must be supplied the first
time the command is issued.  After it has been supplied once, it will
be remembered as the default.

A public branch is optional if a revision bundle is supplied, but required
if --diff or --plain is specified.  It will be remembered as the default
after the first use.

bzr missing [OTHER_BRANCH]

Options:
--help, -h                show help message
--log-format ARG          Use this log format
--line                    Log format with one line per revision
--long                    Detailed log format
--short                   Moderately short log format
--mine-only               Display changes in the local branch only
--reverse                 Reverse the order of revisions
--show-ids                show internal object ids
--theirs-only             Display changes in the remote branch
                          only
--verbose, -v             display more information

See also: merge, pull

Show unmerged/unpulled revisions between two branches.

OTHER_BRANCH may be local or remote.

bzr mkdir DIR...

Options:
--help, -h                show help message

Create a new versioned directory.

This is equivalent to creating the directory and then adding it.

bzr mv [NAMES...]

Options:
--after                   move only the bzr identifier of the file
                          (file has already been moved). Use this
                          flag if bzr is not able to detect this
                          itself.
--help, -h                show help message

Aliases: move, rename

Move or rename a file.

usage:
    bzr mv OLDNAME NEWNAME
    bzr mv SOURCE... DESTINATION

If the last argument is a versioned directory, all the other names
are moved into it.  Otherwise, there must be exactly two arguments
and the file is changed to a new name.

If OLDNAME does not exist on the filesystem but is versioned and
NEWNAME does exist on the filesystem but is not versioned, mv
assumes that the file has been manually moved and only updates
its internal inventory to reflect that change.
The same is valid when moving many SOURCE files to a DESTINATION.

Files cannot be moved between branches.

bzr nick [NICKNAME]

Options:
--help, -h                show help message

See also: info

Print or set the branch nickname.

If unset, the tree root directory name is used as the nickname
To print the current nickname, execute with no argument.

bzr pull [LOCATION]

Options:
--directory ARG, -d       branch to pull into, rather than the one
                          containing the working directory
--help, -h                show help message
--overwrite               Ignore differences between branches and
                          overwrite unconditionally
--remember                Remember the specified location as a
                          default.
--revision ARG, -r        See 'help revisionspec' for details
--verbose, -v             display more information

See also: push, update

Turn this branch into a mirror of another branch.

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) into the parent.

If branches have diverged, you can use 'bzr merge' to integrate the changes
from one into the other.  Once one branch has merged, the other should
be able to pull it again.

If you want to forget your local changes and just update your branch to
match the remote one, use pull --overwrite.

If there is no default location set, the first pull 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.

bzr push [LOCATION]

Options:
--create-prefix           Create the path leading up to the branch
                          if it does not already exist
--directory ARG, -d       branch to push from, rather than the one
                          containing the working directory
--help, -h                show help message
--overwrite               Ignore differences between branches and
                          overwrite unconditionally
--remember                Remember the specified location as a
                          default.
--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.
--verbose, -v             display more information

See also: pull, update

Update a mirror of this branch.

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.

bzr reconcile [BRANCH]

Options:
--help, -h                show help message

See also: check

Reconcile bzr metadata in a branch.

This can correct data mismatches that may have been caused by
previous ghost operations or bzr upgrades. You should only
need to run this command if 'bzr check' or a bzr developer
advises you to run it.

If a second branch is provided, cross-branch reconciliation is
also attempted, which will check that data like the tree root
id which was not present in very early bzr versions is represented
correctly in both branches.

At the same time it is run it may recompress data resulting in
a potential saving in disk space or performance gain.

The branch *MUST* be on a listable system such as local disk or sftp.

bzr remerge [FILE...]

Options:
--help, -h                show help message
--merge-type ARG          Select a particular merge algorithm
--diff3                   Merge using external diff3
--merge3                  Native diff3-style merge
--weave                   Weave-based merge
--reprocess               Reprocess to reduce spurious conflicts
--show-base               Show base revision text in conflicts

Redo a merge.

Use this if you want to try a different merge technique while resolving
conflicts.  Some merge techniques are better than others, and remerge
lets you try different ones on different files.

The options for remerge have the same meaning and defaults as the ones for
merge.  The difference is that remerge can (only) be run when there is a
pending merge, and it lets you specify particular files.

Examples:

$ bzr remerge --show-base
    Re-do the merge of all conflicted files, and show the base text in
    conflict regions, in addition to the usual THIS and OTHER texts.

$ bzr remerge --merge-type weave --reprocess foobar
    Re-do the merge of "foobar", using the weave merge algorithm, with
    additional processing to reduce the size of conflict regions.

bzr remove [FILE...]

Options:
--file-deletion-strategy ARGDon't delete any files.
--force                   Delete all the specified files, even if
                          they can not be recovered and even if
                          they are non-empty directories.
--keep                    Don't delete any files.
--safe                    Only delete files if they can be safely
                          recovered (default).
--help, -h                show help message
--new                     remove newly-added files
--verbose, -v             display more information

Alias: rm

Remove files or directories.

This makes bzr stop tracking changes to the specified files and
delete them if they can easily be recovered using revert.

You can specify one or more files, and/or --new.  If you specify --new,
only 'added' files will be removed.  If you specify both, then new files
in the specified directories will be removed.  If the directories are
also new, they will also be removed.

bzr remove-tree [LOCATION]

Options:
--help, -h                show help message

See also: checkout

Remove the working tree from a given branch/checkout.

Since a lightweight checkout is little more than a working tree
this will refuse to run against one.

To re-create the working tree, use "bzr checkout".

bzr renames [DIR]

Options:
--help, -h                show help message

See also: status

Show list of renamed files.

bzr resolve [FILE...]

Options:
--all                     Resolve all conflicts in this tree
--help, -h                show help message

Alias: resolved

Mark a conflict as resolved.

Merge will do its best to combine the changes in two branches, but there
are some kinds of problems only a human can fix.  When it encounters those,
it will mark a conflict.  A conflict means that you need to fix something,
before you should commit.

Once you have fixed a problem, use "bzr resolve" to automatically mark
text conflicts as fixed, resolve FILE to mark a specific conflict as
resolved, or "bzr resolve --all" to mark all conflicts as resolved.

See also bzr conflicts.

bzr revert [FILE...]

Options:
--help, -h                show help message
--no-backup
--revision ARG, -r        See 'help revisionspec' for details

See also: cat, export

Revert files to a previous revision.

Giving a list of files will revert only those files.  Otherwise, all files
will be reverted.  If the revision is not specified with '--revision', the
last committed revision is used.

To remove only some changes, without reverting to a prior version, use
merge instead.  For example, "merge . --r-2..-3" will remove the changes
introduced by -2, without affecting the changes introduced by -1.  Or
to remove certain changes on a hunk-by-hunk basis, see the Shelf plugin.

By default, any files that have been manually changed will be backed up
first.  (Files changed only by merge are not backed up.)  Backup files have
'.~#~' appended to their name, where # is a number.

When you provide files, you can use their current pathname or the pathname
from the target revision.  So you can use revert to "undelete" a file by
name.  If you name a directory, all the contents of that directory will be
reverted.

bzr revno [LOCATION]

Options:
--help, -h                show help message

See also: info

Show current revision number.

This is equal to the number of revisions on this branch.

bzr root [FILENAME]

Options:
--help, -h                show help message

Show the tree root directory.

The root is the nearest enclosing directory with a .bzr control
directory.

bzr serve

Options:
--allow-writes            By default the server is a readonly
                          server. Supplying --allow-writes enables
                          write access to the contents of the
                          served directory and below.
--directory ARG           serve contents of directory
--help, -h                show help message
--inet                    serve on stdin/out for use from inetd or
                          sshd
--port ARG                listen for connections on nominated port
                          of the form [hostname:]portnumber.
                          Passing 0 as the port number will result
                          in a dynamically allocated port. Default
                          port is 4155.

Alias: server

Run the bzr server.

bzr sign-my-commits [LOCATION] [COMMITTER]

Options:
--dry-run                 Don't actually sign anything, just print
                          the revisions that would be signed
--help, -h                show help message

Sign all commits by a given committer.

If location is not specified the local tree is used.
If committer is not specified the default committer is used.

This does not sign commits that already have signatures.

bzr status [FILE...]

Options:
--help, -h                show help message
--revision ARG, -r        See 'help revisionspec' for details
--short                   Give short SVN-style status lines
--show-ids                show internal object ids
--versioned               Only show versioned files

Aliases: st, stat

See also: diff, revert

Display status summary.

This reports on versioned and unknown files, reporting them
grouped by state.  Possible states are:

added
    Versioned in the working copy but not in the previous revision.

removed
    Versioned in the previous revision but removed or deleted
    in the working copy.

renamed
    Path of this file changed from the previous revision;
    the text may also have changed.  This includes files whose
    parent directory was renamed.

modified
    Text has changed since the previous revision.

kind changed
    File kind has been changed (e.g. from file to directory).

unknown
    Not versioned and not matching an ignore pattern.

To see ignored files use 'bzr ignored'.  For details on the
changes to file texts, use 'bzr diff'.

--short gives a status flags for each item, similar to the SVN's status
command.

Column 1: versioning / renames
  + File versioned
  - File unversioned
  R File renamed
  ? File unknown
  C File has conflicts
  P Entry for a pending merge (not a file)

Column 2: Contents
  N File created
  D File deleted
  K File kind changed
  M File modified

Column 3: Execute
  * The execute bit was changed

If no arguments are specified, the status of the entire working
directory is shown.  Otherwise, only the status of the specified
files or directories is reported.  If a directory is given, status
is reported for everything inside that directory.

If a revision argument is given, the status is calculated against
that revision, or between two revisions if two are provided.

bzr tag TAG_NAME

Options:
--delete                  Delete this tag rather than placing it.
--directory ARG, -d       Branch in which to place the tag.
--force                   Replace existing tags
--help, -h                show help message
--revision ARG, -r        See 'help revisionspec' for details

See also: commit, tags

Create a tag naming a revision.

Tags give human-meaningful names to revisions.  Commands that take a -r
(--revision) option can be given -rtag:X, where X is any previously
created tag.

Tags are stored in the branch.  Tags are copied from one branch to another
along when you branch, push, pull or merge.

It is an error to give a tag name that already exists unless you pass
--force, in which case the tag is moved to point to the new revision.

bzr tags

Options:
--directory ARG, -d       Branch whose tags should be displayed
--help, -h                show help message

See also: tag

List tags.

This tag shows a table of tag names and the revisions they reference.

bzr testament [BRANCH]

Options:
--help, -h                show help message
--long                    Produce long-format testament
--revision ARG, -r        See 'help revisionspec' for details
--strict                  Produce a strict-format testament

Show testament (signing-form) of a revision.

bzr unbind

Options:
--help, -h                show help message

See also: bind, checkouts

Convert the current checkout into a regular branch.

After unbinding, the local branch is considered independent and subsequent
commits will be local only.

bzr uncommit [LOCATION]

Options:
--dry-run                 Don't actually make changes
--force                   Say yes to all questions.
--help, -h                show help message
--revision ARG, -r        See 'help revisionspec' for details
--verbose, -v             display more information

See also: commit

Remove the last committed revision.

--verbose will print out what is being removed.
--dry-run will go through all the motions, but not actually
remove anything.

In the future, uncommit will create a revision bundle, which can then
be re-applied.

bzr update [DIR]

Options:
--help, -h                show help message

Alias: up

See also: pull

Update a tree to have the latest code committed to its branch.

This will perform a merge into the working tree, and may generate
conflicts. If you have any local changes, you will still
need to commit them after the update for the update to be complete.

If you want to discard your local changes, you can just do a
'bzr revert' instead of 'bzr commit' after the update.

bzr upgrade [URL]

Options:
--format ARG              Upgrade to a specific format.  See "bzr
                          help formats" for details
--default                 New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate                New in 0.15: Fast local operations.
                          Compatible with bzr 0.8 and above when
                          accessed over the network.
--dirstate-tags           New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for tags.
                          Incompatible with bzr < 0.15.
--dirstate-with-subtree   New in 0.15: Fast local operations and
                          improved scaling for network operations.
                          Additionally adds support for versioning
                          nested bzr branches. Incompatible with
                          bzr < 0.15.
--knit                    Format using knits.  Recommended for
                          interoperation with bzr <= 0.14.
--metaweave               Transitional format in 0.8.  Slower than
                          knit.
--weave                   Pre-0.8 format.  Slower than knit and
                          does not support checkouts or shared
                          repositories.
--help, -h                show help message

See also: check

Upgrade branch storage to current format.

The check command or bzr developers may sometimes advise you to run
this command. When the default format has changed you may also be warned
during other operations to upgrade.

bzr version

Options:
--help, -h                show help message

Show version of bzr.

bzr version-info [LOCATION]

Options:
--all                     include all possible information
--check-clean             check if tree is clean
--format ARG              Select the output format
--help, -h                show help message
--include-file-revisions  Include the last revision for each file
--include-history         Include the revision-history

Show version information about this tree.

bzr whoami [NAME]

Options:
--branch                  set identity for the current branch
                          instead of globally
--email                   display email address only
--help, -h                show help message

Show or set bzr user id.

examples:
    bzr whoami --email
    bzr whoami 'Frank Chu <fchu@example.com>'

Environment

BZRPATH
Path where bzr is to look for shell plugin external commands.
BZR_EMAIL
E-Mail address of the user. Overrides default user config.
EMAIL
E-Mail address of the user. Overrides default user config.
BZR_EDITOR
Editor for editing commit messages
EDITOR
Editor for editing commit messages
BZR_PLUGIN_PATH
Paths where bzr should look for plugins
BZR_HOME
Home directory for bzr

Files

On Linux: ~/.bazaar/bazaar.conf

On Windows: C:\Documents and Settings\username\Application Data\bazaar\2.0\bazaar.conf

Contains the user's default configuration. The section [DEFAULT] is used to define general configuration that will be applied everywhere. The section [ALIASES] can be used to create command aliases for commonly used options.

A typical config file might look something like:

[DEFAULT]
email=John Doe <jdoe@isp.com>

[ALIASES]
commit = commit --strict
log10 = log --short -r -10..-1

See also

http://www.bazaar-vcs.org/