Date: | 2006-11-30 |
---|
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. It is also possible to restrict the list of files to a specific set. For example: bzr inventory --show-ids this/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 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.
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: --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. Alias: server Run the bzr server.
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: --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-revisionsInclude the last revision for each file --include-history Include the revision-history Generate version information about this tree.
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