baz (1) Linux Manual Page
NAME
baz – arch command line client tool
SYNOPSIS
baz command [ command_options ]
baz command [-h|–help|-H]
baz [-h|–help|-H|-V|–version]
DESCRIPTION
baz is an implementation of arch.
arch is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like SVN, CVS, or RCS.
arch has a number of advantages compared to competing systems. Among these are:
Works on Whole Trees
arch keeps track of whole trees — not just individual files. For example, if you change many files in a tree, arch can record all of those changes as a group rather than file-by-file; if you rename files or reorganize a tree, arch can record those tree arrangements along with your changes to file contents.
Changeset Oriented
arch doesn’t simply "snapshot" your project trees. Instead, arch associates each revision with a particular changeset: a description of exactly what has changed. arch provides changeset oriented commands to help you review changesets, merge trees by applying changesets, examine the history of a tree by asking what changesets have been applied to it, and so forth.
Fully Distributed
arch doesn’t rely on a central repository. For example, there is no need to give write access to a project’s archive to all significant contributors. Instead, each contributor can have their own archive for their work. arch seamlessly operates across archive boundaries.
COMMAND OVERVIEW
Help
baz help [options]- provide help with arch
User Commands
baz my-id [options] [id]- print or change your id
baz my-default-archive [options] [archive]- print or change your default archive
baz register-archive [options] [-d name] location- change an archive location registration
baz whereis-archive [options] archive- print an archive location registration
baz archives [options] [search regular expression]- report registered archives and their locations
baz upgrade [options]- perform an upgrade of local baz settings and data.
Project Tree Commands
baz annotate [options] [path …]- display the changesets that last modified lines in the tree
baz diff [options] [revision] [– limit…]- report about local changes in a project tree
baz init-tree [options] [[archive]/version]- initialize a new project tree
baz tree-id [options] [dir]- Print the tree identifier for a project tree->
baz tree-root [options] [dir]- find and print the root of a project tree
baz tree-version [options] [NEW VERSION]- Print the default version for a project tree
baz set-tree-version [options] […]- This command has been removed; you can use ‘baz tree-version <version>’ instead.
baz undo [options] [revision] [– file …]- undo and save changes in a project tree
baz redo [options] [changeset]- redo changes in project tree
baz file-diff [options] file [revision]- show local changes to a file
baz switch [options] [package]- change the working trees version to that of package
Project Tree Inventory Commands
baz inventory [options] [dir]*- inventory a source tree
baz status [options] [dir]- scan a project tree and show the tree status.
baz lint [options] [dir]- audit a source tree
baz resolved [options] FILE [FILE …]- Tell bazaar one or more tree problems have been resolved
baz id [options] file …- report the inventory id for a file
baz id-tagging-method [options] [method]- print or change a project tree id tagging method
baz add-id [options] file …- add an explicit inventory id
baz delete-id [options] file …- remove an explicit inventory id
baz rm [options] file…- remove a file (or dir, or symlink) and its explicit inventory tag (if any)
baz move-id [options] from to- move an explicit inventory id
baz mv [options] from to OR from1 from2 … dir- move a file (or dir, or symlink) and its explicit inventory tag (if any)
baz explicit-default [options] [TAG-PREFIX]- print or modify default ids
baz id-tagging-defaults [options]- print the default =tagging-method contents
baz inode-sig [options] [dir]- output the inode signature for a source tree.
Patch Set Commands
baz changeset [options] ORIG MOD DEST [files]- compute a whole-tree changeset
baz apply-changeset [options] CHANGESET [TARGET]- apply a whole-tree changeset
baz show-changeset [options] [dir]- generate a report from a changeset
Archive Transaction Commands
baz make-archive [options] [name] location- create a new archive directory
baz import [options] [[archive]/version]- archive a full-source base-0 revision
baz export [options] [revision] [dir]- export all or some of a tree revision
baz commit [options] [file …]- archive a changeset-based revision
baz get [options] revision [dir]- construct a project tree for a revision
baz get-changeset [options] revision [dir]- retrieve a changeset from an archive
baz lock-revision [options] VERSION|REVISION- lock (or unlock) an archive revision
baz archive-mirror [options] [from [to] [limit]]- update an archive mirror
Archive Commands
baz abrowse [options] [limit]- print an outline describing archive contents
baz rbrowse [options] [[ARCHIVE_NAME/]LIMIT_REGEX]- print an outline describing an archive’s contents
baz categories [options] [archive]- list the categories in an archive
baz branches [options] [[archive/]category]- list the branches in an archive category
baz versions [options] [branch]- list the versions in an archive branch
baz revisions [options] [[archive/]version]- list the revisions in an archive version
baz ancestry [options] [revision]- display the ancestory of a revision
baz ancestry-graph [options] [revision]- display the ancestory of a revision
baz change-archive [options] archivename|URL- Alter properties of an archive. For instance, add signatures to an unsigned archive.
baz cat-archive-log [options] revision- print the contents of an archived log entry
baz cacherev [options] [ARCHIVE/[PACKAGE[–VERSION[–PATCHLEVEL]]]] or [PATCHLEVEL]- cache a full source tree in an archive
baz cachedrevs [options] [version]- list cached revisions in an archive
baz uncacherev [options] revision [dir]- remove a cached full source tree from an archive
baz archive-meta-info [options] [archive/]item-name- report meta-info from an archive
baz archive-snapshot [options] dir [[archive/]limit]- update an archive snapshot
baz archive-version [options] [archive]- list the archive-version in an archive
baz archive-fixup [options] [archive]- fix ancillary files (e.g. .listing files) in an archive
Patch Log Commands
baz make-log [options] [version]- initialize a new log file entry
baz log-versions [options]- list patch log versions in a project tree
baz add-log-version [options] [archive]/version- add a patch log version to a project tree
baz remove-log-version [options] [archive]/version- remove a version’s patch log from a project tree
baz log [-f|–full] [-r start[:end]]- Show the log messages for the working directory or given
baz logs [options] [[archive]/version …]- list patch logs for a version in a project tree
baz cat-log [options] revision-spec- print the contents of a project tree log entry
baz changelog [options] [[archive]/version]- generate a ChangeLog from a patch log
baz log-for-merge [options] [[archive]/version]- generate a log entry body for a merge
baz merges [options] INTO [FROM]- report where two branches have been merged
baz new-merges [options] [[archive]/version]- list tree patches new to a version
Multi-project Configuration Commands
baz build-config [options] config- instantiate a multi-project config
baz cat-config [options] config- output information about a multi-project config
Commands for Branching and Merging
baz branch [options] [SOURCE] BRANCH- create a branch
baz merge [options] [FROM]- merge from another branch
baz update [options] [version/revision]- update a project tree to reflect recent archived changes
baz replay [options] [version/revision…]- apply revision changesets to a project tree
baz apply-delta [options] FROM(REVISION|DIR) TO(REVISION|DIR)- compute a changeset between any two trees or revisions and apply it to a project tree
baz missing [options] [version]- print patches missing from a project tree
baz join-branch [options] version- add a version as an ancestor of a project tree
baz sync-tree [options] revision- unify a project tree’s patch-log with a given revision
baz delta [options] (REVISION|TREE)-A (REVISION|TREE)-B [DESTDIR]- compute a changeset (or diff) between any two trees or revisions
Local Cache Commands
baz file-find [options] file [revision]- find given version of file
baz pristines [options] [limit]- list pristine trees in a project tree
baz add-pristine [options] revision- ensure that a project tree has a particular pristine revision
baz find-pristine [options] revision- find and print the path to a pristine revision
Revision Library Commands
baz my-revision-library [options] [dir]- print or change your revision library path
baz library-config [options] library-dir- configure parameters of a revision library
baz library-find [options] revision- find and print the location of a revision in the revision library
baz library-add [options] revision- add a revision to the revision library
baz library-remove [options] revision- remove a revision from the revision library
baz library-archives [options]- list the archives in your revision library
baz library-categories [options] [archive]- list the categories in your revision library
baz library-branches [options] [category]- list the branches in a library category
baz library-versions [options] [branch]- list the versions in a library branch
baz library-revisions [options] [version]- list the revisions in a library version
baz library-log [options] revision- output a log message from the revision library
baz library-file [options] file revision- find a file in a revision library
Cache Commands
baz cache-config [options] [dir]- Print or change your cache settings
Published Revisions Commands
baz grab [options] location- grab a published revision
Miscellaneous Scripting Support
baz parse-package-name [options] name- parse a package name
baz valid-package-name [options] name- test a package name for validity
baz escape [–unescaped] string- print strings in escaped or unescaped form
HELP
baz help
provide help with arch
Usage: baz help [options]
This command prints a list of the available commands.
To see just a list of the options to a particular command, use:
(where $cmd is the name of the command). For additional explanation about a given command, use:
USER COMMANDS
baz my-id
print or change your id
Usage: baz my-id [options] [id]
With no argument print your arch id.
With an argument, record ID-STRING as your id in ~/.arch-params/=id
Your id is recorded in various archives and log messages as you use arch. It must consist entirely of printable characters and fit on one line. By convention, it should have the form of an email address, as in this example:
The portion of an id string between < and > is called your uid. arch sometimes uses your uid as a fragment when generating unique file names.
The option -u (–uid) causes only the uid part of your id string to be printed.
baz my-default-archive
print or change your default archive
Usage: baz my-default-archive [options] [archive]
With no argument, and without -d, print the name of your default archive.
With an argument, record ARCHIVE as your default archive in ~/.arch-params/=default-archive
With the option -d (–delete) and no argument, ensure that you do not have a default archive set in ~/.arch-params.
Your default archive is determined this way:
If the option -A (–archive) is given and not empty, that archive is the default (which makes this script useful for processing a -A argument that was passed to another script).
If -A is not given, but ~/.arch-params/=default-archive exists and is not empty, that is your default archive.
Otherwise, your default archive is the name of the local archive rooted at the argument to -R (–root) or specified in the environment variable ARCHROOT.
If no default archive can be found by any of these means, the program exits with status 1, printing an error message unless the -s (–silent) option is given.
baz register-archive
change an archive location registration
Usage: baz register-archive [options] [-d name] location
Record the location of ARCHIVE.
With -d, remove the registration of a previously registered archive. When accompanied by -f, override permissions on the registration file and don’t complain if the archive is not registered. If you are deleting a location that is inaccesible, you may provide the name of the archive that the location belongs to This may not be provided when registering an archive: inaccessible archives may not be registered.
A LOCATION should be either a directory name or a distant URL.
When registering a new archive, then the archive’s name will be read automatically from the archive’s meta data.
Archive locations are stored in ~/.arch-params/archives/ARCHIVENAME.
Registering archives is optional. If you use a url to a command, the archive will be automatically registered.
baz whereis-archive
print an archive location registration
Usage: baz whereis-archive [options] archive
Print the registered location of an archive.
Usually the archive must have been previously registered with "baz register-archive".
As a special exception, the the archive is not registered, but is the name of the archive rooted at the location given with the option -R (–root) or in the environment variable ARCHROOT then print that root directory.
baz archives
report registered archives and their locations
Usage: baz archives [options] [search regular expression]
Print a list of registered archives and their locations
If [search regex] is given then only archives with names that match [search regex] will be shown
baz upgrade
perform an upgrade of local baz settings and data.
Usage: baz upgrade [options]
By default, nothing is done. You must supply –move-old-config (recommended) or –leave-old-config
For baz 1.3 this: Scans all the archives listed in ~/.arch-params/=locations and writes consolidated configuration details to ~/.arch-params/archives. After upgrading, the previous configuration details are saved in ~/.arch-params/upgraded-by-baz-1.3/
If an archive cannot be connected to, its configuration details are left untouched
PROJECT TREE COMMANDS
baz annotate
display the changesets that last modified lines in the tree
Usage: baz annotate [options] [path …]
baz diff
report about local changes in a project tree
Usage: baz diff [options] [revision] [– limit…]
Generate a patch report describing the differences between the current project tree (or DIR if it is supplied) and the project trees current revision (or REVISION if supplied).
baz init-tree
initialize a new project tree
Usage: baz init-tree [options] [[archive]/version]
Initialize DIR as a new project tree.
An empty patch-log for VERSION will be created, and VERSION will be made the default location for check-ins.
baz tree-id
Print the tree identifier for a project tree->
Usage: baz tree-id [options] [dir]
Print the patchset identifier that represents the current tree-> I.e. foo [at] example.com/demo–1.0–patch-4. Defaults to the tree the current directory is in.
baz tree-root
find and print the root of a project tree
Usage: baz tree-root [options] [dir]
Find and print the root of the project tree that contains DIR (or the current directory). The option –accurate checks for three possibilities:
In case 1, exit with an error and error message.
In case 2, install the log file before printing the tree root and exiting normally.
In case 3, print the tree root and exit normally.
baz tree-version
Print the default version for a project tree
Usage: baz tree-version [options] [NEW VERSION]
Print the default version of project tree DIR (or the current directory).
(Advanced Usage) If [NEW VERSION] is given, then the version of the working tree is changed to the supplied one
baz set-tree-version
This command has been removed; you can use ‘baz tree-version <version>’ instead.
Usage: baz set-tree-version [options] […]
baz undo
undo and save changes in a project tree
Usage: baz undo [options] [revision] [– file …]
Compute a patch set describing the changes from REVISION to the project tree containing DIR. Save the patch in PATCH-DIR (which must not already exist) and apply the patch in reverse to the project tree containing DIR.
The effect is to remove local changes in the DIR project tree but save them in a convenient form.
If REVISION is not specified, the latest ancestor of the default version of project tree is used.
If REVISION is specified as a VERSION, the latest ancestor of the project tree in that VERSION is used.
If DIR is not specified, "." is assumed.
If PATCH-DIR is not specified, a temporary file-name of the matching ,,undo-* is used.
If –no-output is specified, the patch set is not saved.
See also "baz redo -H" and "baz diff -H".
baz redo
redo changes in project tree
Usage: baz redo [options] [changeset]
Apply CHANGESET to the project tree and then delete CHANGESET.
If CHANGESET is not specified, the highest numbered ,,undo-N directory in the project tree root is used.
If –keep is given, the changeset directory is not deleted.
See also "baz undo –help" and "baz apply-changeset –help".
baz file-diff
show local changes to a file
Usage: baz file-diff [options] file [revision]
Print diffs between FILE and the corresponding file in a cached copy of REVISION.
The default patch level for a given version is the latest level for which the project tree has a patch. The default archive and version is as printed by "baz tree-version".
baz switch
change the working trees version to that of package
Usage: baz switch [options] [package]
change the working trees version to that of package, and make equivalent to revision. Preserves uncommitted changes.
Note: baz automatically switches to the _latest_ revision in the supplied version.
PROJECT TREE INVENTORY COMMANDS
baz inventory
inventory a source tree
Usage: baz inventory [options] [dir]*
