| Date: | 2006-08-28 |
|---|
Bazaar (bzr) - next-generation distributed version control
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.
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
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.
Options:
--all show annotations on all lines
--help, -h show help message
--long show date in annotations
--revision ARG, -r
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.
Options:
--help, -h show help message
Bind the current branch to a master branch.
After binding, commits must succeed on the master branch
before they are executed on the local one.
Options:
--basis ARG
--help, -h show help message
--revision ARG, -r
Aliases: get, clone
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".
--basis is to speed up branching from remote branches. When specified, it
copies all the file-contents, inventory and revision data from the basis
branch before copying anything from the remote branch.
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
Options:
--help, -h show help message
--output ARG write bundle to specified file
--remember Remember the specified location as a
default.
--revision ARG, -r
--verbose, -v display more information
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
Options:
--help, -h show help message
--revision ARG, -r
Write a file's text from a previous revision.
Options:
--help, -h show help message
--verbose, -v display more information
Validate consistency of branch history.
This command checks various invariants about the branch storage to
detect data corruption or bzr bugs.
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
Alias: co
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.)
--basis is to speed up checking out from remote branches. When specified, it
uses the inventory and file contents from the basis branch in preference to the
branch being checked out.
Options:
--file MSGFILE file containing commit message
--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
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, such as trying to commit a file in a
newly-added directory that is not itself committed.
Options:
--help, -h show help message
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.
Use bzr resolve when you have fixed a problem.
(conflicts are determined by the presence of .BASE .TREE, and .OTHER
files.)
See also bzr resolve.
Options:
--help, -h show help message
--show-ids show internal object ids
List files deleted in the working tree.
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.
--revision ARG, -r
Aliases: di, dif
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 --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'
Options:
--format ARG
--help, -h show help message
--revision ARG, -r
--root ARG
Export past revision to destination directory.
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).
Root may be the top directory for tar, tgz and tbz2 formats. If none
is given, the top directory will be the root name of the file.
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
Options:
--help, -h show help message
--long show help on all commands
Aliases: ?, --help, -?, -h
Show help on a command or other topic.
For a list of all available commands, say 'bzr help commands'.
Options:
--help, -h show help message
--old-default-rules Out the ignore rules bzr < 0.9 always
used.
Ignore a command or pattern.
To remove patterns from the ignore list, edit the .bzrignore file.
If the pattern contains a slash, 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 are case-insensitive on case-insensitive systems.
Note: wildcards must be quoted from the shell on Unix.
examples:
bzr ignore ./Makefile
bzr ignore '*.class'
Options:
--help, -h show help message
List ignored files and the patterns that matched them.
See also: bzr ignore
Options:
--help, -h show help message
--verbose, -v display more information
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.
Options:
--format ARG Specify a format for this branch.
Current formats are: default, knit,
metaweave and weave. Default is knit;
metaweave and weave are deprecated
--help, -h show help message
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
.bzr.
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'
Options:
--format ARG Specify a format for this repository.
Current formats are: default, knit,
metaweave and weave. Default is knit;
metaweave and weave are deprecated
--help, -h show help message
--trees Allows branches in repository to have a
working tree
Alias: init-repo
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, if the branch format supports
shared storage.
example:
bzr init-repo repo
bzr init repo/trunk
bzr checkout --lightweight repo/trunk trunk-checkout
cd trunk-checkout
(add files here)
Options:
--help, -h show help message
--kind ARG
--revision ARG, -r
--show-ids show internal object ids
Show inventory of the current working copy or a revision.
It is possible to limit the output to a particular entry
type using the --kind option. For example; --kind file.
Options:
--forward show from oldest to newest
--help, -h show help message
--line Use log format with one line per
revision. Same as --log-format line
--log-format ARG Use this log format
--long, -l Use detailed log format. Same as --log-
format long
--message ARG show revisions whose message matches
this regexp
--revision ARG, -r
--short Use moderately short log format. Same as
--log-format short
--show-ids show internal object ids
--timezone ARG display timezone as local, original, or
utc
--verbose 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
Options:
--force
--help, -h show help message
--merge-type ARG Select a particular merge algorithm
--remember Remember the specified location as a
default.
--reprocess Reprocess to reduce spurious conflicts
--revision ARG, -r
--show-base Show base revision text in conflicts
--uncommitted Apply uncommitted changes from a working
copy, instead of branch changes
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.
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.
The following merge types are available:
merge3: Native diff3-style merge
weave: Weave-based merge
diff3: Merge using external diff3
Options:
--help, -h show help message
--line Use log format with one line per
revision. Same as --log-format line
--log-format ARG Use this log format
--long, -l Use detailed log format. Same as --log-
format long
--mine-only Display changes in the local branch only
--reverse Reverse the order of revisions
--short Use moderately short log format. Same as
--log-format short
--show-ids show internal object ids
--theirs-only Display changes in the remote branch
only
--verbose, -v display more information
Show unmerged/unpulled revisions between two branches.
OTHER_BRANCH may be local or remote.
Options:
--help, -h show help message
Create a new versioned directory.
This is equivalent to creating the directory and then adding it.
Options:
--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, which must not already exist.
Files cannot be moved between branches.
Options:
--help, -h show help message
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.
Options:
--help, -h show help message
--overwrite Ignore differences between branches and
overwrite unconditionally
--remember Remember the specified location as a
default.
--revision ARG, -r
--verbose, -v display more information
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.
Options:
--create-prefix Create the path leading up to the branch
if it does not already exist
--help, -h show help message
--overwrite Ignore differences between branches and
overwrite unconditionally
--remember Remember the specified location as a
default.
--verbose, -v display more information
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.
Options:
--help, -h show help message
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.
Options:
--help, -h show help message
--merge-type ARG Select a particular merge algorithm
--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.
The following merge types are available:
merge3: Native diff3-style merge
weave: Weave-based merge
diff3: Merge using external diff3
Options:
--help, -h show help message
--new remove newly-added files
--verbose, -v display more information
Alias: rm
Make a file unversioned.
This makes bzr stop tracking changes to a versioned file. It does
not delete the working copy.
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.
Options:
--help, -h show help message
Show list of renamed files.
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 FILE.." to mark
individual files as fixed, or "bzr resolve --all" to mark all conflicts as
resolved.
See also bzr conflicts.
Options:
--help, -h show help message
--no-backup
--revision ARG, -r
Alias: merge-revert
Reverse all changes since the last commit.
Only versioned files are affected. Specify filenames to revert only
those files. By default, any files that are changed will be backed up
first. Backup files have a '~' appended to their name.
Options:
--help, -h show help message
Show current revision number.
This is equal to the number of revisions on this branch.
Options:
--help, -h show help message
Show the tree root directory.
The root is the nearest enclosing directory with a .bzr control
directory.
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.
Options:
--help, -h show help message
--revision ARG, -r
--show-ids show internal object ids
Aliases: st, stat
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.
unknown
Not versioned and not matching an ignore pattern.
To see ignored files use 'bzr ignored'. For details in the
changes to file texts, use 'bzr diff'.
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.
Options:
--help, -h show help message
--long Produce long-format testament
--revision ARG, -r
--strict Produce a strict-format testament
Show testament (signing-form) of a revision.
Options:
--help, -h show help message
Unbind the current branch from its master branch.
After unbinding, the local branch is considered independent.
All subsequent commits will be local.
Options:
--dry-run Don't actually make changes
--force Say yes to all questions.
--help, -h show help message
--revision ARG, -r
--verbose, -v display more information
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.
Options:
--help, -h show help message
List unknown files.
Options:
--help, -h show help message
Alias: up
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.
Options:
--format ARG Upgrade to a specific format. Current
formats are: default, knit, metaweave
and weave. Default is knit; metaweave
and weave are deprecated
--help, -h show help message
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.
Options:
--help, -h show help message
Show version of bzr.
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>'
On Linux: ~/.bazaar/bazaar.conf
On Windows: C:\Documents and Settings\username\Application Data\bazaar\2.0\bazaar.conf
Contains the users 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