Man Linux: Main Page and Category List

NAME

       tla - arch command line client tool

SYNOPSIS

       tla command [ command_options ]
       tla command [-h|--help|-H]
       tla [-h|--help|-H|-V|--version]

DESCRIPTION

       tla 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
       tla help [options]
              provide help with arch

   User Commands
       tla my-id [options] [id]
              print or change your id

       tla my-default-archive [options] [archive]
              print or change your default archive

       tla register-archive [options] [archive] location
              change an archive location registration

       tla whereis-archive [options] archive
              print an archive location registration

       tla archives [options] [search regular expression]
              report registered archives and their locations

   Project Tree Commands
       tla init-tree [options] [[archive]/version]
              initialize a new project tree

       tla tree-root [options] [dir]
              find and print the root of a project tree

       tla tree-version [options] [dir]
              print the default version for a project tree

       tla tree-id [options] [dir]
              Print the tree identifier for a project tree

       tla tree-revision [options] [dir]
              Print the tree identifier for a project tree

       tla set-tree-version [options] [archive]/version
              set the default version for a project tree

       tla undo [options] [revision]
              undo and save changes in a project tree

       tla redo [options] [changeset]
              redo changes in project tree

       tla changes [options] [revision] [-- limit...]
              report about local changes in a project tree

       tla file-diff [options] file [revision]
              show local changes to a file

       tla diff [options] [revision] [-- files...]
              report about local changes in a project tree

       tla export [options] [revision] dir
              export all or some of a tree revision

   Project Tree Inventory Commands
       tla inventory [options] [--] [dir]*
              inventory a source tree

       tla tree-lint [options] [dir]
              audit a source tree

       tla lint [options] [dir]
              audit a source tree

       tla id [options] file ...
              report the inventory id for a file

       tla id-tagging-method [options] [method]
              print or change a project tree id tagging method

       tla add [options] file ...
              add an explicit inventory id

       tla add-id [options] file ...
              add an explicit inventory id

       tla delete-id [options] file ...
              remove an explicit inventory id

       tla move-id [options] from to
              move an explicit inventory id

       tla touch [options] file ...
              add an explicit inventory id, touching the file.

       tla rm [options] file...
              remove a file (or dir, or symlink) and  its  explicit  inventory
              tag

       tla mv [options] from to   OR   from1 from2 ... dir
              move a file (or dir, or symlink) and its explicit inventory tag

       tla explicit-default [options] [TAG-PREFIX]
              print or modify default ids

       tla default-id [options] [TAG-PREFIX]
              print or modify default ids

       tla id-tagging-defaults [options]
              print the default =tagging-method contents

   Patch Set Commands
       tla changeset [options] ORIG MOD DEST [files]
              compute a whole-tree changeset

       tla mkpatch [options] ORIG MOD DEST [files]
              compute a whole-tree changeset

       tla apply-changeset [options] CHANGESET [TARGET]
              apply a whole-tree changeset

       tla dopatch [options] CHANGESET [TARGET]
              apply a whole-tree changeset

       tla show-changeset [options] [dir]
              generate a report from a changeset

   Archive Transaction Commands
       tla make-archive [options] [name] location
              create a new archive directory

       tla archive-setup [options] [version ...]
              create new categories, branches and versions

       tla make-category [options] category
              create a new archive category

       tla make-branch [options] branch
              create a new archive branch

       tla make-version [options] version
              create a new archive version

       tla import [options] [[archive]/version]
              archive a full-source base-0 revision

       tla commit [options] [[archive]/version] [-- file ...]
              archive a changeset-based revision

       tla get [options] revision [dir]
              construct a project tree for a revision

       tla get-changeset [options] revision [dir]
              retrieve a changeset from an archive

       tla lock-revision [options] revision
              lock (or unlock) an archive revision

       tla archive-mirror [options] [from [to] [limit]]
              update an archive mirror

   Archive Commands
       tla abrowse [options] [limit]
              print an outline describing archive contents

       tla rbrowse [options] [[ARCHIVE_NAME/]LIMIT_REGEX]
              print an outline describing an archive´s contents

       tla categories [options] [archive]
              list the categories in an archive

       tla branches [options] [category]
              list the branches in an archive category

       tla versions [options] [branch]
              list the versions in an archive branch

       tla revisions [options] [version]
              list the revisions in an archive version

       tla ancestry [options] [revision]
              display the ancestory of a revision

       tla ancestry-graph [options] [revision]
              display the ancestory of a revision

       tla cat-archive-log [options] revision
              print the contents of an archived log entry

       tla cacherev [options] [revision]
              cache a full source tree in an archive

       tla cachedrevs [options] [version]
              list cached revisions in an archive

       tla uncacherev [options] revision [dir]
              remove a cached full source tree from an archive

       tla archive-meta-info [options] item-name
              report meta-info from an archive

       tla archive-snapshot [options] dir [limit]
              update an archive snapshot

       tla archive-version [options]
              list the archive-version in an archive

       tla archive-fixup [options]
              fix ancillary files in an archive

   Patch Log Commands
       tla make-log [options] [version]
              initialize a new log file entry

       tla log-versions [options]
              list patch log versions in a project tree

       tla add-log-version [options] [archive]/version
              add a patch log version to a project tree

       tla remove-log-version [options] [archive]/version
              remove a version´s patch log from a project tree

       tla logs [options] [[archive]/version ...]
              list patch logs for a version in a project tree

       tla cat-log [options] revision-spec
              print the contents of a project tree log entry

       tla changelog [options] [[archive]/version]
              generate a ChangeLog from a patch log

       tla log-for-merge [options] [[archive]/version]
              generate a log entry body for a merge

       tla merges [options] INTO [FROM]
              report where two branches have been merged

       tla new-merges [options] [[archive]/version]
              list tree patches new to a version

   Multi-project Configuration Commands
       tla build-config [options] config
              instantiate a multi-project config

       tla cat-config [options] config
              output information about a multi-project config

   Commands for Branching and Merging
       tla tag [options] SOURCE-REVISION TAG-VERSION
              create a continuation revision

       tla branch [options] [SOURCE] BRANCH
              create a continuation revision

       tla switch [options] [package]
              change the working trees version

       tla update [options] [version/revision]
              update a project tree

       tla replay [options] [version/revision...]
              apply revision changesets to a project tree

       tla star-merge [options] [FROM]
              merge mutually merged branches

       tla 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

       tla missing [options] [version]
              print patches missing from a project tree

       tla join-branch [options] version
              add a version as an ancestor of a project tree

       tla sync-tree [options] revision
              unify a project tree´s patch-log with a given revision

       tla delta [options] (REVISION|TREE)-A (REVISION|TREE)-B [DESTDIR]
              compute a changeset (or diff) between any two trees or revisions

   Local Cache Commands
       tla changes [options] [revision] [-- limit...]
              report about local changes in a project tree

       tla file-diff [options] file [revision]
              show local changes to a file

       tla file-find [options] file [revision]
              find given version of file

       tla pristines [options] [limit]
              list pristine trees in a project tree

       tla lock-pristine [options] revision
              lock (or unlock) a pristine tree

       tla add-pristine [options] revision
              ensure that a project tree has a particular pristine revision

       tla find-pristine [options] revision
              find and print the path to a pristine revision

   Revision Library Commands
       tla my-revision-library [options] [dir]
              print or change your revision library path

       tla library-config [options] library-dir
              configure parameters of a revision library

       tla library-find [options] revision
              find  and  print  the  location  of  a  revision in the revision
              library

       tla library-add [options] revision
              add a revision to the revision library

       tla library-remove [options] revision
              remove a revision from the revision library

       tla library-archives [options]
              list the archives in your revision library

       tla library-categories [options] [archive]
              list the categories in your revision library

       tla library-branches [options] [category]
              list the branches in a library category

       tla library-versions [options] [branch]
              list the versions in a library branch

       tla library-revisions [options] [version]
              list the revisions in a library version

       tla library-log [options] revision
              output a log message from the revision library

       tla library-file [options] file revision
              find a file in a revision library

   Published Revisions Commands
       tla grab [options] location
              grab a published revision

   Miscellaneous Scripting Support
       tla parse-package-name [options] name
              parse a package name

       tla valid-package-name [options] name
              test a package name for validity

       tla escape [--unescaped] string
              print strings in escaped or unescaped form

HELP

   tla help
       provide help with arch

       Usage: tla help [options]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -b, --basic    Display basic commands only
         -V, --version  Display a release identifier string
                        and exit.

       This command prints a list of the available commands.

       To see just a list of the options to a particular command, use:

           tla $cmd -h

       (where $cmd is the name of the command).   For  additional  explanation
       about a given command, use:

           tla $cmd -H

USER COMMANDS

   tla my-id
       print or change your id

       Usage: tla my-id [options] [id]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -e, --errname  specify program name for errors
         -u, --uid      print only the UID portion of the 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:

               Jane Hacker <jane.hacker@gnu.org>

       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.

   tla my-default-archive
       print or change your default archive

       Usage: tla my-default-archive [options] [archive]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -e, --errname  specify program name for errors
         -d, --delete   unspecify your default archive
         -s, --silent   suppress reassuring messages

       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.

   tla register-archive
       change an archive location registration

       Usage: tla register-archive [options] [archive] location

         -h, --help        Display a help message and exit.
         -H                Display a verbose help message and exit.
         -V, --version     Display a release identifier string
                           and exit.
         -f, --force       overwrite existing location
         --present-ok      return 0 even if archive exists
         -d, --delete      delete archive registration

       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.

       A LOCATION should be either a directory name or a distant URL.

       When  registering  a new archive, if no ARCHIVE´s name is passed on the
       command line, then the archive´s name will be read  automatically  from
       the archive´s meta data.

       Archive locations are stored in ~/.arch-params/=locations.

       You  must  register  the location of a remote archive before you access
       it.  It is not strictly necessary to register the  locations  of  local
       archives  (you  can  always  specify  their location using command line
       arguments and/or environment variables), but registering local  archive
       locations is recommend (for simplicity).

   tla whereis-archive
       print an archive location registration

       Usage: tla whereis-archive [options] archive

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Print the registered location of an archive.

       Usually  the  archive  must  have  been previously registered with "tla
       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.

   tla archives
       report registered archives and their locations

       Usage: tla archives [options] [search regular expression]

         -h, --help            Display a help message and exit.
         -H                    Display a verbose help message and exit.
         -V, --version         Display a release identifier string
                               and exit.
         -n, --names           print archive names only
         -R, --exclude-remote  Exclude MIRROR and SOURCE archives.

       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

PROJECT TREE COMMANDS

   tla init-tree
       initialize a new project tree

       Usage: tla init-tree [options] [[archive]/version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         --nested       initialize a nested project tree.

       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.

   tla tree-root
       find and print the root of a project tree

       Usage: tla tree-root [options] [dir]

         -h, --help      Display a help message and exit.
         -H              Display a verbose help message and exit.
         -V, --version   Display a release identifier string
                         and exit.
         --accurate      error for mid-txn trees
         -s, --silent    exit status only

       Find  and  print the root of the project tree that contains DIR (or the
       current  directory).   The   option   --accurate   checks   for   three
       possibilities:

           1) The project tree was the subject of a commit that
              was killed before the log entry was added to the
              tree´s patch log.  It is unknown whether or not
              the commit took place in the archive.  The {arch}
              directory contains the log file as "++mid-commit".

           2) The project tree was the subject of a killed commit, but
              it is certain the commit took place.  The log file
              is stored as "++commit-definite".

           3) The project tree patch log is fully up-to-date (as far as
              arch knows).

       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.

   tla tree-version
       print the default version for a project tree

       Usage: tla tree-version [options] [dir]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Print  the  default  version  of  project  tree  DIR  (or  the  current
       directory).

   tla tree-id
       Print the tree identifier for a project tree

       Usage: tla tree-id [options] [dir]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Print  the  patchset identifier that represents the current tree-> I.e.
       foo@example.com/demo--1.0--patch-4. Defaults to the  tree  the  current
       directory is in.

   tla tree-revision
       Print the tree identifier for a project tree

       Usage: tla tree-revision [options] [dir]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Print  the  patchset identifier that represents the current tree-> I.e.
       foo@example.com/demo--1.0--patch-4. Defaults to the  tree  the  current
       directory is in.

   tla set-tree-version
       set the default version for a project tree

       Usage: tla set-tree-version [options] [archive]/version

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       This operation sets the default version on which to check-in the source
       tree DIR (default: the current directory) during a commit.

       You can specify the archive for this version  as  an  ordinary  command
       line  argument  (ARCHIVE/VERSION)  or via -R, -A and the environment as
       usual (try "tla my-default-archive --help").

   tla undo
       undo and save changes in a project tree

       Usage: tla undo [options] [revision]

         -h, --help              Display a help message and exit.
         -H                      Display a verbose help message and exit.
         -V, --version           Display a release identifier string
                                 and exit.
         -A, --archive           Override `my-default-archive´
         -d, --dir DIR           cd to DIR first
         -o, --output PATCH-DIR  save changeset in PATCH-DIR
         -n, --no-output         do not save the changeset
         -N, --forward           pass the --forward option to `patch´
         -q, --quiet             no progress reports while computing changeset
         --unescaped             show filenames in unescaped form

       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 "tla redo -H" and "tla changes -H".

   tla redo
       redo changes in project tree

       Usage: tla redo [options] [changeset]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -N, --forward    pass the --forward option to `patch´
         -k, --keep       do not delete the patch
         -q, --quiet      no progress reports while computing changeset
         -d, --dir DIR    Operate on project tree in DIR (default `.´)
         --unescaped      show filenames in unescaped form

       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 "tla undo --help" and "tla apply-changeset --help".

   tla changes
       report about local changes in a project tree

       Usage: tla changes [options] [revision] [-- limit...]

         -h, --help        Display a help message and exit.
         -H                Display a verbose help message and exit.
         -V, --version     Display a release identifier string and exit.
         -A, --archive     Override `my-default-archive´.
         -d, --dir DIR     Change to DIR first.
         -o, --output DIR  Save changeset in DIR (implies --keep).
         -v, --verbose     Verbose changeset report.
         -q, --quiet       Suppress progress information
         --diffs           Include diffs in the output.
         -k, --keep        Don´t remove the output directory on termination.
         --link            hardlink unchanged files to revision library
         --unescaped       show filenames in unescaped form

       Generate  a patch report describing the differences between the project
       tree containing DIR (or the current directory) and 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 "tla tree-version".

   tla file-diff
       show local changes to a file

       Usage: tla file-diff [options] file [revision]

         -h, --help      Display a help message and exit.
         -H              Display a verbose help message and exit.
         -V, --version   Display a release identifier string
                         and exit.
         -A, --archive   Override `my-default-archive´
         -N, --new-file  Treat missing file as empty

       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 "tla tree-version".

   tla diff
       report about local changes in a project tree

       Usage: tla diff [options] [revision] [-- files...]

         -h, --help          Display a help message and exit.
         -H                  Display a verbose help message and exit.
         -V, --version       Display a release identifier string and exit.
         -A, --archive       Override `my-default-archive´.
         -d, --dir DIR       Change to DIR first.
         -o, --output DIR    Save changeset in DIR.
         -v, --verbose       Verbose changeset report.
         -q, --quiet         Suppress progress information
         -s, --summary       Do not include diffs in the output.
         -k, --keep          Don´t remove the output directory on termination.
         -L, --latest        compare against the  latest  revision  (HEAD)  in
       branch
         --link              hardlink unchanged files to revision library
         --unescaped         show filenames in unescaped form
         --limit LIMITS      limit the diff to LIMITS
         -D, --diff-options  specify options for `diff´ (for display only)

       Generate  a patch report describing the differences between the project
       tree containing DIR (or the current directory) and 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 "tla tree-version".

   tla export
       export all or some of a tree revision

       Usage: tla export [options] [revision] dir

         -d, --dir DIR  Change to DIR first.
         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -s, --silent   no output

       Extract REVISION from an archive, creating a new source  tree  with  no
       control  information.  Note  if  export  the local tree revision, local
       modifications will not be included; the  exported  file  will  only  be
       copies in the repository

PROJECT TREE INVENTORY COMMANDS

   tla inventory
       inventory a source tree

       Usage: tla inventory [options] [--] [dir]*

         -h, --help          display help
         -H                  Display a verbose help message and exit.
         -V, --version       display version info

         -s, --source        list source files
         -p, --precious      list precious files
         -b, --backups       list backup files
         -j, --junk          list junk files
         -u, --unrecognized  list unrecognized files
         -t, --trees         list roots of nested trees

         -d, --directories   list only directories
         -f, --files         list only non-directories
         -B, --both          list both dirs and files
         --kind              indicate file kinds

         --all               include arch control files
         --nested            include nested trees

         --ids               list with ids (source files only)
         --untagged          include files that are missing ids

         --explicit          use explicit file ids
         --implicit          permit implicit file ids
         --tagline           permit tagline file ids
         --names             use name-based file ids
         --unescaped         show filenames in unescaped form

       With no arguments, print a human-readable inventory report.

       With  category  options  (--source  etc) limit the report to just those
       files.  With no other options, the report  includes  all  sections  and
       files.

       The options -d, -f, and -b cancel each other.

       If  a  directory is precious, junk, or unrecognized, only the directory
       name itself is printed -- its contents are not searched.

       Each command option implies the  corresponding  category  option  (e.g.
       "--source-command" implies "--source").  The exit status of the command
       is ignored.

   tla tree-lint
       (alias for lint)

       Usage: tla tree-lint [options] [dir]

         -h, --help                Display a help message and exit.
         -H                        Display a verbose help message and exit.
         -V, --version             Display a release identifier string
                                   and exit.
         -s, --broken-symlinks     Just list broken symlinks
         -u,  --unrecognized-files    Just   list   files   violating   naming
       conventions
         -t, --untagged-files      Just list files lacking inventory ids
         -m,   --missing-files         Just   list   inventory   ids   lacking
       corresponding files
         -d, --duplicate-ids       Just list duplicated ids
         --strict                  exit with non-0 status on _any_ oddity
         --unescaped               show filenames in unescaped form

       Audit a source tree for missing files, untagged files,  duplicate  ids,
       and files not matching recognized naming conventions.

       The  default is to list files failing any of those tests.  Enabling any
       of the `specific´ tests disables the rest,  unless  they´re  explicitly
       enabled  on  the command line. Therefore, "tla tree-lint" is equivalent
       to "tla tree-lint -sutmd"

   tla lint
       audit a source tree

       Usage: tla lint [options] [dir]

         -h, --help                Display a help message and exit.
         -H                        Display a verbose help message and exit.
         -V, --version             Display a release identifier string
                                   and exit.
         -s, --broken-symlinks     Just list broken symlinks
         -u,  --unrecognized-files    Just   list   files   violating   naming
       conventions
         -t, --untagged-files      Just list files lacking inventory ids
         -m,   --missing-files         Just   list   inventory   ids   lacking
       corresponding files
         -d, --duplicate-ids       Just list duplicated ids
         --strict                  exit with non-0 status on _any_ oddity
         --unescaped               show filenames in unescaped form

       Audit a source tree for missing files, untagged files,  duplicate  ids,
       and files not matching recognized naming conventions.

       The  default is to list files failing any of those tests.  Enabling any
       of the `specific´ tests disables the rest,  unless  they´re  explicitly
       enabled  on  the command line. Therefore, "tla tree-lint" is equivalent
       to "tla tree-lint -sutmd"

   tla id
       report the inventory id for a file

       Usage: tla id [options] file ...

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         --implicit       Use the implicit id tagging method.
         --tagline        Use the tagline id tagging method (default).
         --explicit       Use the explicit id tagging method.
         --names          Use the names id tagging method.
         --silent         No output -- exit status only.
         --unescaped      show filenames in unescaped form

       Print a file´s inventory id.

   tla id-tagging-method
       print or change a project tree id tagging method

       Usage: tla id-tagging-method [options] [method]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -d, --dir DIR  cd to DIR first
         --strict       exit with error if method not set

       Print or change the method by which source files are identified in  DIR
       (or the current directory).

       When setting, METHOD must be one of:

               names           -- use naming conventions only
               implicit        -- use naming conventions but permit
                                  for inventory tags
               explicit        -- require explicit designation of source
               tagline         -- mix names, explicit and arch-tag: methods

       When  printing,  if  --strict  is  provided but no id tagging method is
       explicitly set, print an error.

   tla add
       (alias for add-id)

       Usage: tla add [options] file ...

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -i, --id ID    Specify ID, instead of using auto-generated id.

       Create an explicit inventory id for FILE (which may be a regular  file,
       symbolic link, or directory).

   tla add-id
       add an explicit inventory id

       Usage: tla add-id [options] file ...

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -i, --id ID    Specify ID, instead of using auto-generated id.

       Create  an explicit inventory id for FILE (which may be a regular file,
       symbolic link, or directory).

   tla delete-id
       remove an explicit inventory id

       Usage: tla delete-id [options] file ...

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Remove an explicit inventory id for FILE (which may be a regular  file,
       symbolic link, or directory).

   tla move-id
       move an explicit inventory id

       Usage: tla move-id [options] from to

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Move  an explicit inventory id for FILE (which may be a regular file or
       symbolic link but which must not be a directory).

   tla touch
       add an explicit inventory id, touching the file.

       Usage: tla touch [options] file ...

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -i, --id ID    Specify ID, instead of using auto-generated id.

       Create an explicit inventory id for FILE (which may be a regular  file,
       symbolic  link,  or directory). This command also sets the modification
       and access times of the file, creating it if necessary.

   tla rm
       remove a file (or dir, or symlink) and its explicit inventory tag

       Usage: tla rm [options] file...

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       This command is suitable as a replacement for rm(1) within any tla tree
       for any remove operation, regardless of id tagging method.

   tla mv
       move a file (or dir, or symlink) and its explicit inventory tag

       Usage: tla mv [options] from to   OR   from1 from2 ... dir

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       This command is suitable as a replacement for mv(1) within any tla tree
       for any move operation, regardless of id tagging method.

   tla explicit-default
       print or modify default ids

       Usage: tla explicit-default [options] [TAG-PREFIX]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -D, --dir DIR    cd to DIR first
         -d, --delete     remove the default
         -s, --strong     use the strong default (default)
         -w, --weak       use the weak default
         --dont-care      use the dont-care default

       For files in this directory, use:

            ID-PREFIX__BASENAME

       as the default explicit id for all files in this directory that do  not
       have an explicit explicit id.

       With no arguments, print the previously set ID-PREFIX.

       By  default, this command sets, prints or deletes a "strong default" --
       a default explicit id which overrides implicit ids.

       With --weak, set (or print) a weak default id which  is  overridden  by
       explicit ids.

       The  --dont-care  option  sets  (or  with  -d,  clears) a flag for that
       directory that causes unidged files not to be reported as such in  "tla
       tree-lint" reports.

   tla default-id
       (alias for explicit-default)

       Usage: tla default-id [options] [TAG-PREFIX]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -D, --dir DIR    cd to DIR first
         -d, --delete     remove the default
         -s, --strong     use the strong default (default)
         -w, --weak       use the weak default
         --dont-care      use the dont-care default

       For files in this directory, use:

            ID-PREFIX__BASENAME

       as  the default explicit id for all files in this directory that do not
       have an explicit explicit id.

       With no arguments, print the previously set ID-PREFIX.

       By default, this command sets, prints or deletes a "strong default"  --
       a default explicit id which overrides implicit ids.

       With  --weak,  set  (or print) a weak default id which is overridden by
       explicit ids.

       The --dont-care option sets (or  with  -d,  clears)  a  flag  for  that
       directory  that causes unidged files not to be reported as such in "tla
       tree-lint" reports.

   tla id-tagging-defaults
       print the default =tagging-method contents

       Usage: tla id-tagging-defaults [options]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Print  the  boilerplate  contents  that  are  used  to  initialize  new
       =tagging-method files.

PATCH SET COMMANDS

   tla changeset
       compute a whole-tree changeset

       Usage: tla changeset [options] ORIG MOD DEST [files]

         -h, --help             Display a help message and exit.
         -H                     Display a verbose help message and exit.
         -V, --version          Display a release identifier string
                                and exit.
         --file-list FILES      record only diffs of selected files
         --unescaped            show filenames in unescaped form

       Create the output directory DESTINATION (it must not already exist).

       Compare source trees ORIGINAL and MODIFIED.  Create a changeset tree in
       DESTINATION

       See also "tla apply-changeset -H".

   tla mkpatch
       (alias for changeset)

       Usage: tla mkpatch [options] ORIG MOD DEST [files]

         -h, --help             Display a help message and exit.
         -H                     Display a verbose help message and exit.
         -V, --version          Display a release identifier string
                                and exit.
         --file-list FILES      record only diffs of selected files
         --unescaped            show filenames in unescaped form

       Create the output directory DESTINATION (it must not already exist).

       Compare source trees ORIGINAL and MODIFIED.  Create a changeset tree in
       DESTINATION

       See also "tla apply-changeset -H".

   tla apply-changeset
       apply a whole-tree changeset

       Usage: tla apply-changeset [options] CHANGESET [TARGET]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -N, --forward    pass the --forward option to `patch´
         -r, --reverse    Apply the changeset in reverse
         --unescaped      show filenames in unescaped form

       Apply  the changeset CHANGESET to the source tree TARGET (default `.´).

       See also "tla changeset -H".

   tla dopatch
       (alias for apply-changeset)

       Usage: tla dopatch [options] CHANGESET [TARGET]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -N, --forward    pass the --forward option to `patch´
         -r, --reverse    Apply the changeset in reverse
         --unescaped      show filenames in unescaped form

       Apply the changeset CHANGESET to the source tree TARGET (default  `.´).

       See also "tla changeset -H".

   tla show-changeset
       generate a report from a changeset

       Usage: tla show-changeset [options] [dir]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         --diffs          include diff output
         --unescaped      show filenames in unescaped form

       Produce a human-readable summary of a changeset.

ARCHIVE TRANSACTION COMMANDS

   tla make-archive
       create a new archive directory

       Usage: tla make-archive [options] [name] location

         -h, --help                       Display a help message and exit.
         -H                                Display  a verbose help message and
       exit.
         -V, --version                    Display a release identifier string
                                          and exit.
         -m, --mirror MASTER              create mirror of specified archive
         -M,  --mirror-from  MASTER-SOURCE   create   pull-based   mirror   of
       specified archive
         -l,  --listing                     Keep  .listing files up-to-date in
       this archive.
         -t, --tla                        Create a tla format archive.
         -b, --baz                        Create a  baz  format  archive  (the
       default).
         -s,  --signed                      GPG  sign  the  contents  of  this
       archive.

       NAME is the global name for the archive.  It must be an  email  address
       with  a  fully qualified domain name, optionally followed by "--" and a
       string of letters, digits, periods and dashes.

       With --mirror, label the new archive as a mirror  of  MASTER.  Ordinary
       commits  can  not be made to a mirror archive, however the command "tla
       archive-mirror" can write to a mirror.

       Two special forms of this command are available:

          tla make-archive --mirror MASTER LOCATION

       is equivalent to:

          tla make-archive --mirror MASTER MASTER-MIRROR LOCATION

       and thus "tla archive-mirror MASTER" will push changes from  MASTER  to
       the newly created mirror.

          tla make-archive --mirror-from MASTER-SOURCE LOCATION

       is equivalent to:

          tla make-archive --mirror MASTER-SOURCE MASTER LOCATION

       and   thus   "tla   archive-mirror   MASTER"  will  pull  changes  from
       MASTER-SOURCE to the newly created mirror.

       The first of these two special forms is especially handy when  creating
       a remote mirror in which to publish a local repository.

       The  second  special  form  is  handy when creating a local mirror of a
       remote archive, locally bound to the remote archive´s name.

       The --tla option creates a tla  format  archive,  the  default  is   to
       create a Bazaar archive.

   tla archive-setup
       create new categories, branches and versions

       Usage: tla archive-setup [options] [version ...]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -f, --file FILE  read the list of desired versions from FILE
         -b, --branches   make base-0 tags
         -c, --cache      archive cache when creating base-0 tags

       Given  a  list of categories, branches, and versions, ensure that these
       exist in the appropriate archive.

       For example, starting with an empty archive,:

           % tla archive-setup  proja--devo--1.0 projb

       creates a category, branch, and version for project A, and  a  category
       for project B

       When  the  --file  option  is used, the list of items to create is read
       from a file (use "-" to indicate standard input).

       With the --file option, the option --branches may be provided.  In this
       case,  the  input should have two items per line:  a target version (to
       create), and a source version to build a tag from.   For example, given
       an input file containg:

           proja--devo--1.0  his@foo.com/proja--devo--1.0

       with  --branches, archive-setup creates a proja version in your default
       archive, and adds a base-0 revision to that project which is a  tag  of
       the  latest revision in his@foo.com´s archive.  (This can make it quite
       easy to set-up a new archive  which  contains  branches  from  existing
       archives, for example.)

       If --branches is used, the --cache option may also be used.   It causes
       each new base-0 revision to be archive-cached (see "tla cacherev -H")

   tla make-category
       create a new archive category

       Usage: tla make-category [options] category

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Create CATEGORY as a category in the indicated  archive.  The  category
       must not already exist.

   tla make-branch
       create a new archive branch

       Usage: tla make-branch [options] branch

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Create BRANCH as a branch in the indicated archive.

       The category containing the branch must already exist.

   tla make-version
       create a new archive version

       Usage: tla make-version [options] version

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Create  VERSION  as  a version in the indicated archive. The branch for
       this version must not already exist.

   tla import
       archive a full-source base-0 revision

       Usage: tla import [options] [[archive]/version]

         -h, --help              Display a help message and exit.
         -H                      Display a verbose help message and exit.
         -V, --version           Display a release identifier string
                                 and exit.
         -A, --archive           Override `my-default-archive´.
         -d, --dir DIR           Change to DIR first.
         -l, --log FILE          Commit with log file FILE.
         -s, --summary TEXT      log  with  summary  TEXT  plus  log-for-merge
       output
         -L, --log-message TEXT  log with TEXT
         -S,  --setup             Use `archive-setup´ if necessary; implied by
       default.
         --no-setup              Do not use `archive-setup´ even if necessary.
         --unescaped             show filenames in unescaped form

       Archive a from-scratch base revision of the project tree containing DIR
       (or the current directory).  Use  this  command  to  create  the  first
       revision of a new project.

       If --log-message is specified without --summary, then TEXT is used both
       as the summary and the first line of the log body.

   tla commit
       archive a changeset-based revision

       Usage: tla commit [options] [[archive]/version] [-- file ...]

         -h, --help                               Display a help  message  and
       exit.
         -H                                         Display   a  verbose  help
       message and exit.
         -V, --version                            Display a release identifier
       string
                                                  and exit.
         -A,           --archive                                      Override
       `my-default-archive´
         -d, --dir DIR                            cd to DIR first
         -l, --log FILE                           commit with log file FILE
         -s, --summary TEXT                       log with summary  TEXT  plus
       log-for-merge output
         -L,   --log-message   TEXT                     log   with  TEXT  plus
       log-for-merge output
         --strict                                 strict tree-lint
         --seal                                   create a version-0 revision
         --fix                                    create a versionfix revision
         --out-of-date-ok                         commit even if out of date
         --file-list FILE                         commit only changes to files
       listed in FILE
         --write-revision REVISION_FILE_SPEC      write the  new  tree  id  to
       REVISION_FILE_SPEC before committing
         --unescaped                               show filenames in unescaped
       form

       Archive a revision of the project tree containing DIR (or  the  current
       directory)

       If  there  are  any  automated  ChangeLog  files,  update  them  before
       computing the patch set.

       If --log-message is specified without --summary, then TEXT is used both
       as the summary and the first line of the log body.

   tla get
       construct a project tree for a revision

       Usage: tla get [options] revision [dir]

         -h, --help           Display a help message and exit.
         -H                   Display a verbose help message and exit.
         -V, --version        Display a release identifier string
                              and exit.
         -A, --archive        Override `my-default-archive´
         --cache DIR          cache root for trees with pristines
         --no-pristine        don´t save a pristine copy
         --link                hardlink  files  to revision library instead of
       copying
         --library            ensure the revision is in a revision library
         --sparse             add library entries sparsely (--link, --library)
         --non-sparse         add library entries densely (--link, --library)
         -s, --silent         no output
         --no-greedy-add      do not allow greedy libraries to add revisions
         --unescaped          show filenames in unescaped form

       Extract  REVISION  from  an archive, creating the new project tree DIR.
       If DIR is not specified, store the working copy in  a  subdirectory  of
       the  current  directory,  giving  it the name of the revision. CAUTION:
       when using the links option be sure to use copy-on-write on your editor
       or the revision library will be corrupted. Either way, the project tree
       must not already exist.

   tla get-changeset
       retrieve a changeset from an archive

       Usage: tla get-changeset [options] revision [dir]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Retrieve the changeset for REVISION and store it in the  directory  DIR
       (or a directory named REVISION.patches).  DIR must not already exist.

   tla lock-revision
       lock (or unlock) an archive revision

       Usage: tla lock-revision [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -u, --unlock   release a lock owned by you
         -b, --break    break any existing lock

       Acquire the lock needed to create REVISION.

       Revision must be the next patch-level in sequence, however, if no patch
       level is specified, the lock is taken unconditionally. If no version is
       specified, the latest version is locked.

   tla archive-mirror
       update an archive mirror

       Usage: tla archive-mirror [options] [from [to] [limit]]

         -h, --help         Display a help message and exit.
         -H                 Display a verbose help message and exit.
         -V, --version      Display a release identifier string
                            and exit.
         --no-cached        don´t copy cached revisions
         -s, --summary      print the summary of each patch
         --cached-tags      copy only cachedrevs for tags to other archives

       If  no  arguments  are  given,  update your `my-default-archive´-MIRROR
       archive with the contents of `my-default-archive´.

       If a [FROM] archive is given, update the [FROM]-MIRROR archive with the
       contents of the [FROM] archive

       If  both  [FROM]  and [TO] archives are specified, update [TO] with the
       contents of [FROM]

       If LIMIT is provided, it should be  a  category,  branch,  version,  or
       revision  name.   Only the indicated part of FROM will be copied to TO.
       If LIMIT is a revision,  then  cached  revisions  will  be  copied  and
       deleted to TO.

       (see "tla make-archive -H".).

ARCHIVE COMMANDS

   tla abrowse
       print an outline describing archive contents

       Usage: tla abrowse [options] [limit]

         -h, --help             Display a help message and exit.
         -H                     Display a verbose help message and exit.
         -V, --version          Display a release identifier string
                                and exit.
         -A, --archive          Override `my-default-archive´
         -r, --reverse          sort revisions from newest to oldest
         -s, --summary          print a summary of each patch
         -c, --creator          print the creator of each patch
         -D, --date             print the date of each patch
         -k,  --kind             show each revision kind (import, changeset or
       id)
         -C, --cacherevs        show cached revisions
         -f, --full             print full patch level names
         --desc                 implies -s -c -D -k -C
         --local-merges         list merges from the same archive
         --foreign-merges       list merges from other archives
         --merges               list all merges
         --categories           show category names only
         --branches             show branch names only
         --versions             show version names only
         --omit-empty           omit empty or unchanged-since items
         --since SNAP-FILE      show revisions after those listed in SNAP-FILE
         --since-limits         limit output to items in the since file
         --snap SNAP-FILE       record the highest revisions shown
         --force                overwrite an existing snap-file

       Describe the contents of an archive in outline format.

       With LIMIT, look only that part of the archive.

       LIMIT may be a fully qualified name and may be an archive name.

   tla rbrowse
       print an outline describing an archive´s contents

       Usage: tla rbrowse [options] [[ARCHIVE_NAME/]LIMIT_REGEX]

         -h, --help               Display a help message and exit.
         -H                       Display a verbose help message and exit.
         -V, --version            Display a release identifier string
         --all                    Search all archives
         --since SNAP-FILE        Only show differences since SNAP-FILE
         --snap SNAP-FILE         Snap an archive
         -f, --snap-force         Force snap writing
         -r                       Reverse patch logs
         -s                       Print the summary of matching patches
         -c                       Print the creator of matching patches
         -D                       Print the date of matching patches
         --patch-regex REGEX      Only show revisions that contain [REGEX]
                                  (implies -s)
         -A, --archive            Use [archive] instead of default
         --show-sealed            Do not hide sealed branches

       an  outline  of  an  archive  will  be printed, showing the categories,
       branches and revisions of the specified archive if no archive is  given
       then `my-default-archive` is used.

       If  [LIMIT  REGEX]  is  specified,  revisions will only be shown if the
       category, branch or version matches  [LIMIT  REGEX].  If  --patch-regex
       [REGEX] is given, then only patchlogs matching [REGEX] will be given

   tla categories
       list the categories in an archive

       Usage: tla categories [options] [archive]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Print a list of the categories present in an archive.

   tla branches
       list the branches in an archive category

       Usage: tla branches [options] [category]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Print a list of the branches within CATEGORY

   tla versions
       list the versions in an archive branch

       Usage: tla versions [options] [branch]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -r, --reverse  sort from newest to oldest

       Print a list of versions within an archive branch.

       The  list is ordinarily sorted from oldest to newest, but the order can
       be changed with -r (--reverse).

   tla revisions
       list the revisions in an archive version

       Usage: tla revisions [options] [version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -r, --reverse  sort from newest to oldest
         -f, --full     list fully qualified names
         -s, --summary  print a summary of each patch
         -c, --creator  print the creator of each patch
         -D, --date     print the date of each patch

       Print a list of revisions within an archive version.

       The list is ordinarily sorted from oldest to newest, but the order  can
       be changed with -r (--reverse).

       With optional arguments specifying patches, list only those patches, if
       they exist.  If a listed patch does not exist, exit with status 1.  The
       -r (--reverse) flag has no effect with optional arguments.

   tla ancestry
       display the ancestory of a revision

       Usage: tla ancestry [options] [revision]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         -m, --merges   show merges into this development line
         -r, --reverse  list oldest to newest
         -s, --summary  print a summary of each patch
         -c, --creator  print the creator of each patch
         -D, --date     print the date of each patch

       Print the ancestry of a revision.

   tla ancestry-graph
       display the ancestory of a revision

       Usage: tla ancestry-graph [options] [revision]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -d, --dir DIR    cd to DIR first
         -m, --merges     show merges into this development line
         -r, --reverse    list oldest to newest
         -i, --immediate  show only the immediate ancestor
         -p, --previous   show the (namespace) previous revision

       Print a list describing the ancestry of a revision.

   tla cat-archive-log
       print the contents of an archived log entry

       Usage: tla cat-archive-log [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         --headers      show only log headers

       Retrieve  and print the log message for the indicated revision from its
       archive.

   tla cacherev
       cache a full source tree in an archive

       Usage: tla cacherev [options] [revision]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         --cache DIR      cache root for trees with pristines

       Cache a full-text copy of the indicated revision in the archive.   This
       can  speed  up  subsequent  calls  to "tla get" for that and subsequent
       revisions.

       If no revision is specified, but the  command  is  run  from  within  a
       project  tree, cache the latest revision in the default version of that
       tree.

   tla cachedrevs
       list cached revisions in an archive

       Usage: tla cachedrevs [options] [version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Report which revisions of VERSION have been cached as  whole  trees  in
       the archive.

       See also "tla cacherev -H".

   tla uncacherev
       remove a cached full source tree from an archive

       Usage: tla uncacherev [options] revision [dir]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Remove the cached form of REVISION from its archive.

       If  REVISION  is  not  specified,  but the command is run from within a
       project tree, uncache the latest revision in  the  default  version  of
       that tree.

       Also see "tla cacherev -H".

   tla archive-meta-info
       report meta-info from an archive

       Usage: tla archive-meta-info [options] item-name

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Print the contents of a meta-info file from an archive. For example,

           % tla archive-meta-info name

       prints the official name of your default archive.

   tla archive-snapshot
       update an archive snapshot

       Usage: tla archive-snapshot [options] dir [limit]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Update  the  directory  DIR  with a "snapshot" of of an archive (or the
       part of the archive indicated by LIMIT

       For each archive snapshotted, DIR will contain a file and  subdirectory
       (where $ARCH is the name of the archive):

           ./$ARCH.added
           ./$ARCH/

       Similarly, for each category snapshotted, DIR will contain:

           ./$ARCH/$CAT.added
           ./$ARCH/$CAT/

       and so on, recursively, for branches and versions.

       For each revision, the snapshot contains:

           ./$ARCH/$CAT/$BRANCH/$VERSION/$REVISION.added

       and that file contains a copy of the patch log entry for that revision.

       Snapshots can be used  in  combination  with  other  tools  (´make´  is
       suggested)  to  trigger one-time events in response to new additions to
       an archive.

   tla archive-version
       list the archive-version in an archive

       Usage: tla archive-version [options]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Print the archive format identifier string of an arch archive.

   tla archive-fixup
       fix ancillary files in an archive

       Usage: tla archive-fixup [options]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       This is  a  kind  of  "catch-all"  command  to  fix  the  non-standard,
       non-transactional  state of an archive.  Currently its sole function is
       to repair .listing files in archives that use them.

PATCH LOG COMMANDS

   tla make-log
       initialize a new log file entry

       Usage: tla make-log [options] [version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       Create (if needed) a log entry file in the root  of  the  project  tree
       containing DIR, for the indicated VERSION.

       The name of the new log file is printed to standard output.

   tla log-versions
       list patch log versions in a project tree

       Usage: tla log-versions [options]

         -h, --help               Display a help message and exit.
         -H                       Display a verbose help message and exit.
         -V, --version            Display a release identifier string
                                  and exit.
         -d, --dir DIR            cd to DIR first
         -a, --archive ARCHIVE    list only logs for ARCHIVE
         -c, --category CATEGORY  list only logs for CATEGORY
         -b, --branch BRANCH      list only logs for BRANCH
         -v, --vsn VERSION        list only logs for VERSION
         -r, --reverse            reverse the sort order

       Print  the  list  of  versions  for  which  there are patch logs in the
       project tree containing DIR (or the current directory).

   tla add-log-version
       add a patch log version to a project tree

       Usage: tla add-log-version [options] [archive]/version

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       Add an initially empty list of patch log for  VERSION  to  the  project
       tree containing DIR (or the current directory).

       A  project tree patch log is a pre-requisite for checking the directory
       in on that version, or updating with patches from that version.

       Note that versions recorded for a project tree are  recorded  by  fully
       qualified  version  names:  an  archive name plus the name of a version
       within that archive.

   tla remove-log-version
       remove a version´s patch log from a project tree

       Usage: tla remove-log-version [options] [archive]/version

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       Remove the patch log for VERSION from the project tree  containing  DIR
       (or the current directory).

       Use  this  command  with caution -- it erases revision history from the
       project tree!

   tla logs
       list patch logs for a version in a project tree

       Usage: tla logs [options] [[archive]/version ...]

         -h, --help            Display a help message and exit.
         -H                    Display a verbose help message and exit.
         -V, --version         Display a release identifier string
                               and exit.
         -A, --archive         Override `my-default-archive´
         -d, --dir DIR         cd to DIR first
         -r, --reverse         sort from newest to oldest
         -s, --summary         print the summary of each patch
         -c, --creator         print the creator of each patch
         -D, --date            print the date of each patch
         --local-merges        list merges from the same archive
         --foreign-merges      list merges from other archives
         --merges              list all merges
         -f, --full            print full patch level names

       Print the list of patches applied to a project tree DIR (or the current
       directory) from VERSION.

   tla cat-log
       print the contents of a project tree log entry

       Usage: tla cat-log [options] revision-spec

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       Retrieve  and  print  the  patch  log for the indicated revision from a
       project tree.

   tla changelog
       generate a ChangeLog from a patch log

       Usage: tla changelog [options] [[archive]/version]

         -h, --help                  Display a help message and exit.
         -H                          Display a verbose help message and  exit.
         -V, --version               Display a release identifier string
                                     and exit.
         -A, --archive               Override `my-default-archive´
         -d, --dir DIR               cd to DIR first
         --no-files                  exclude file lists from ChangeLog
         --untagged                  don´t implicitly tag the output file
         --new-entry PATCH,FILE      make FILE the first (top) entry
                                       for patch level PATCH

       Generate a ChangeLog for VERSION from the patch log for DIR.

   tla log-for-merge
       generate a log entry body for a merge

       Usage: tla log-for-merge [options] [[archive]/version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         -r, --reverse  sort from newest to oldest

       Generate a log entry body describing a merge into VERSION.

   tla merges
       report where two branches have been merged

       Usage: tla merges [options] INTO [FROM]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         -r, --reverse  sort from newest to oldest
         -f, --full     print full patch level names

       Print a list of pairs of patch level names:

               %s     %s   INTO-RVN  FROM-RVN

       where  each  pair  indicates  that at patch level INTO-RVN of INTO, the
       patch log entry FROM-RVN was added.

       FROM may be a branch name, version name, or revision name. If a  branch
       or  version  name, all merges from that branch or version are reported.
       If a revision name, only the merge points for  that  specific  revision
       are reported.

       INTO  may  be  a version name or revision name.  If a version name, all
       merge points within that version are printed.  If a revision name,  all
       merge points at that revision or earlier are printed.

       Output is sorted using patch-level ordering of the first column.

       Included  patches  are  listed  by  full name unless FROM is a revision
       name.  If FROM is a  revision,  --full  causes  its  full  name  to  be
       printed.

   tla new-merges
       list tree patches new to a version

       Usage: tla new-merges [options] [[archive]/version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         -r, --reverse  sort from newest to oldest

       List  all  patch  log  entries in the tree containing DIR that have not
       already been merged with VERSION.

MULTI-PROJECT CONFIGURATION COMMANDS

   tla build-config
       instantiate a multi-project config

       Usage: tla build-config [options] config

         -h, --help          Display a help message and exit.
         -H                  Display a verbose help message and exit.
         -V, --version       Display a release identifier string
                             and exit.
         -d, --dir DIR       cd to DIR first
         --no-pristines      don´t create pristine copies
         --link              hardlink files to  revision  library  instead  of
       copying
         --library           ensure revisions are in the revision library
         --sparse            add library entries sparsely (--link, --library)
         -r, --release-id    overwrite ./=RELEASE-ID for this config

       Build the named configuration.  See also "tla cat-config -H".

   tla cat-config
       output information about a multi-project config

       Usage: tla cat-config [options] config

         -h, --help        Display a help message and exit.
         -H                Display a verbose help message and exit.
         -V, --version     Display a release identifier string
                           and exit.
         -d, --dir DIR     cd to DIR first
         -o, --output CFG  write the output as config CFG
         -f, --force       overwrite an exiting config (with --output)
         -s, --snap        Show current patch levels of subtree packages.
         --unescaped       show filenames in unescaped form

       Parse and print the indicate config file from a project tree

       A  config  file  contains blank lines, comment lines starting with "#",
       and config specification lines.    The  config  file  called  $NAME  is
       stored in a project tree as ./configs/$NAME or as ./$NAME.

       A  config  specification line contains a relative path within a project
       tree, and a specification of the project or revision to store  in  that
       location.

       For example, the line:

          ./src/arch   lord@emf.net--2003b/arch--devo--1.0

       means  that,  when  building  the configuration, the latest revision of
       arch--devo--1.0 should be created within the tree as ./src/arch.

       The project specification can be a branch name,  version  name  or  the
       name of a specific revision.

       The  option  --snap  says to examine the project tree to find out which
       revisions of configured project are printed, and generate a new  config
       specification  that references those specific revisions.   For example,
       the output for the line shown above might be:

           ./src/arch  lord@emf.net--2003b/arch--devo--1.0--patch-21

       The option --output causes the output from this command to be  recorded
       as  a new configuration file (or to replace an existing file if --force
       is provided).

COMMANDS FOR BRANCHING AND MERGING

   tla tag
       create a continuation revision

       Usage: tla tag [options] SOURCE-REVISION TAG-VERSION

         -h, --help         Display a help message and exit.
         -H                 Display a verbose help message and exit.
         -V, --version      Display a release identifier string
                            and exit.
         -A, --archive      Override `my-default-archive´
         -l, --log FILE     commit with log file FILE
         --no-cacherev      Do not cacherev tag even if different archive
         --seal             create a version-0 revision
         --fix              create a versionfix revision
         -S, --setup         Use  `archive-setup´  if  necessary;  implied  by
       default.
         --no-setup         Do not use `archive-setup´ even if necessary.

       Create  the  continuation  revision  TAG-VERSION  (branch point or tag)
       which is equivalent to SOURCE-REVISION (plus a log entry).

       If no log entry is provided, a trivial log entry will be created.

   tla branch
       create a continuation revision

       Usage: tla branch [options] [SOURCE] BRANCH

         -h, --help         Display a help message and exit.
         -H                 Display a verbose help message and exit.
         -V, --version      Display a release identifier string
                            and exit.
         -A, --archive      Override `my-default-archive´
         -l, --log FILE     commit with log file FILE
         --no-cacherev      Do not cacherev tag even if different archive
         --seal             create a version-0 revision
         --fix              create a versionfix revision

       Create the continuation revision BRANCH (branch point or tag) which  is
       equivalent to SOURCE (plus a log entry). If no log entry is provided, a
       trivial log entry will be created.

       If SOURCE is not specified, the current project tree revision is  used,
       and the project tree is switched to BRANCH

   tla switch
       change the working trees version

       Usage: tla switch [options] [package]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string and exit.
         -A, --archive  Override `my-default-archive´.
         -d, --dir DIR  Change to DIR first.
         -q, --quiet    Suppress progress information

       change  the  working  trees  version  to  that  of  package,  and  make
       equivalent to revision. Preserves uncommitted changes.

       Note: tla automatically  switches  to  the  _latest_  revision  in  the
       supplied version.

   tla update
       update a project tree

       Usage: tla update [options] [version/revision]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -d, --dir DIR    Update project tree in DIR (default `.´)
         -N, --forward    pass the --forward option to `patch´
         --dest DEST      Instead of modifying the project tree in-place,
                          make  a  copy  of it to DEST and apply the result to
       that
         --unescaped      show filenames in unescaped form

       Update a project tree by getting the latest revision of VERSION (or the
       default  version  of the project tree) and then applying a patch set of
       the differences between the project tree and the highest revision  with
       which it is up-to-date.

       If  the merge involves conflicts, a warning message is printed, and the
       new project tree will contain ".rej" files.

   tla replay
       apply revision changesets to a project tree

       Usage: tla replay [options] [version/revision...]

         -h, --help          Display a help message and exit.
         -H                  Display a verbose help message and exit.
         -V, --version       Display a release identifier string
                             and exit.
         -A, --archive       Override `my-default-archive´
         --list FILE         read a list of patches to apply
         --new               replay only new patches
         --reverse           reverse the named patch
         -N, --forward       pass the --forward option to `patch´
         -d, --dir DIR       Operate on project tree in DIR (default `.´)
         --dest DEST         Instead of modifying the project tree in-place,
                             make a copy of it to DEST and apply the result to
       that
         --skip-present       skip  patches  that contain 1 or more patch logs
       already in this tree
         --unescaped         show filenames in unescaped form

       The result is formed by applying patches  in  the  latest  revision  of
       VERSION  (or  the  default version of the project tree), stopping after
       the first patch  that  causes  conflicts.   If  multiple  VERSIONs  are
       specified, they are applied in turn.

       If one or more specific REVISIONs (including patch-levels) is specified
       instead, only those patch sets, and no others, will be applied.

       With the --list option, read a list of patches to apply  from  FILE  (-
       for standard input).  Complete revision names should be listed, one per
       line.  replay will stop at the first patch in the list  that  causes  a
       merge conflict, leaving behind files with names of the form:

          ,,replay.conflicts-in   --   the  name  of  the  patch  that  caused
       conflicts

          ,,replay.remaining    --  the list of patches not yet applied

   tla star-merge
       merge mutually merged branches

       Usage: tla star-merge [options] [FROM]

         -h, --help               Display a help message and exit.
         -H                       Display a verbose help message and exit.
         -V, --version            Display a release identifier string
                                  and exit.
         -A, --archive            Override tree archive
         -c, --changes OUTPUT     Generate but don´t apply the changeset.
         -r, --reference VERSION  Set reference version (default: project tree
       version)
         -N, --forward            pass the --forward option to `patch´
         -t, --three-way          Perform a 3-way (diff3-style) merge.
         -d, --dir DIR            Operate on project tree in DIR (default `.´)
         --unescaped              show filenames in unescaped form

       Merge changes from FROM  into  the  project  tree,  considering  common
       ancestry  from  the  project  tree  reference version, REFERENCE (which
       defaults to the tree version of the  project  tree).  If  FROM  is  not
       given, it defaults to the tree revision.

       The  purpose  of  this  command is to merge changes between development
       lines which may have merged in both directions.   It uses merge history
       to  attempt  to  minimize  the  spurious  conflicts that can arise from
       `mutual merging´.

       FROM indicates a revision (it may  be  specified  as  a  version  name,
       indicating the latest revision in that version).

       TREE is the project tree into which the merge will occur.

       Star-merge  works  by  computing  the  most recent ANCESTOR revision of
       REFERENCE and FROM and then applying the changeset:

                delta (ANCESTOR, FROM)

       to TREE.

       The "most recent ancestor" is defined as follows:

       MAYBE_ANCESTOR_1 is defined as the  highest  patch  level  of  FROM  in
       REFERENCE  for  which  both  TREE  and  FROM have a patch log. In other
       words, it is the latest REFERENCE revision of  FROM´s  version  already
       merged into TREE.

       MAYBE_ANCESTOR_2 is defined as the highest patch level in REFERENCE for
       which both FROM and REFERENCE have a patch log.  In other words, it  is
       the latest revision of REFERENCE already merged into FROM.

       MAYBE_ANCESTOR_2,  if  it  is  not  "nil", was merged into FROM at some
       revision of FROM´s version, which we can call LAST_MERGE_INTO_FROM.

       If both MAYBE_ANCESTOR_1 or MAYBE_ANCESTOR_2 are nil, star-merge can do
       nothing.

       If  just  one  of MAYBE_ANCESTOR_1 is MAYBE_ANCESTOR_2 is not nil, then
       that non-nil value is ANCESTOR.

       If  both  MAYBE_ANCESTOR_1  and  MAYBE_ANCESTOR_2  are  not  nil,  then
       LAST_MERGE_INTO_FROM   and  MAYBE_ANCESTOR_1  are  compared  (both  are
       revisions  in  FROM´s  version).  If  MAYBE_ANCESTOR_1  is  the   later
       revision,     then    MAYBE_ANCESTOR_1    is    ANCESTOR,    otherwise,
       MAYBE_ANCESTOR_2 is ANCESTOR.

   tla apply-delta
       compute a changeset between any two trees or revisions and apply it  to
       a project tree

       Usage: tla apply-delta [options] FROM(REVISION|DIR) TO(REVISION|DIR)

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -N, --forward    pass the --forward option to `patch´
         --cache DIR      specify a cache root for pristine copies
         -d, --dir DIR    Operate on project tree in DIR (default `.´)
         --dest DEST      Instead of modifying the project tree in-place,
                          make  a  copy  of it to DEST and apply the result to
       that
         --unescaped      show filenames in unescaped form

       A delta between A and B (both of which may be either a full revision or
       a project tree) is computed, and then applied to the project tree.

       Exit Status Codes:

           0  No conflict during patch
           1  Conflicts occurred during patch
           3  Internal Error

   tla missing
       print patches missing from a project tree

       Usage: tla missing [options] [version]

         -h, --help          Display a help message and exit.
         -H                  Display a verbose help message and exit.
         -V, --version       Display a release identifier string
                             and exit.
         -A, --archive       Override `my-default-archive´
         -q, --quiet         produce no ordinary output
         -x, --exit-status   exit non-0 if patches are missing
         -d, --dir DIR       cd to DIR first
         -r, --reverse       sort from newest to oldest
         -s, --summary       display a summary of each missing patch
         -c, --creator       display the creator of each missing patch
         -D, --date          display the date of each missing patch
         -f, --full          print full revision names
         --merges            print a merge list for each missing patch
         --skip-present       skip  patches  that contain 1 or more patch logs
       already in this tree

       Print a list of patches missing in the project tree containing DIR  (or
       the  current  directory)  for  VERSION  (or the default version. of the
       project tree).

       The flag --merges means, for each patch, to print the list  of  patches
       included in the patch in two columns.  For example:

               PATCH-A        PATCH-A
               PATCH-A        PATCH-B
               PATCH-A        PATCH-C

       means  that  PATCH-A  includes  the  changes  from PATCH-B and PATCH-C.
       (Every patch includes at least itself.)

       With -x, if there are missing patches, the command exits with status 1,
       otherwise with status 0.

       With -q, produce no output.

       WARNING:  At  this  time,  some error conditions *also* exit with error
       status 1, however, in situations where the caller is not concerned with
       errors, the exit status is still useful.

   tla join-branch
       add a version as an ancestor of a project tree

       Usage: tla join-branch [options] version

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -d, --dir DIR    Operate on project tree in DIR (default `.´)
         --dest DEST      Instead of modifying the project tree in-place,
                          make  a  copy  of it to DEST and apply the result to
       that
         --unescaped      show filenames in unescaped form

       VERSION--base-0 must be a continuation (e.g. tag). The command  replays
       the  changeset  for  VERSION--base-0 in the project tree, which has the
       effect of adding the log for the branch (making the tag an ancestor  of
       the resulting tree).

   tla sync-tree
       unify a project tree´s patch-log with a given revision

       Usage: tla sync-tree [options] revision

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -d, --dir DIR    Operate on project tree in DIR (default `.´)
         --dest DEST      Instead of modifying the project tree in-place,
                          make  a  copy  of it to DEST and apply the result to
       that
         --unescaped      show filenames in unescaped form

       The new project tree is formed by getting the REVISION and  adding  all
       patch-log  entries  from  REVISION.   No actual merging is performed --
       only the patch-log is changed.

   tla delta
       compute a changeset (or diff) between any two trees or revisions

       Usage:  tla   delta   [options]   (REVISION|TREE)-A   (REVISION|TREE)-B
       [DESTDIR]

         -h, --help          Display a help message and exit.
         -H                  Display a verbose help message and exit.
         -V, --version       Display a release identifier string
                             and exit.
         -A, --archive       Override `my-default-archive´
         --cache DIR         specify a cache root for pristine copies
         -n, --no-changeset  do not generate a changeset
         --diffs             print changeset report with diffs (implies -n)
         --unescaped         show filenames in unescaped form

       Given   (REVISION|TREE)-A  and  (REVISION|TREE)-B,  tla  will  build  a
       changeset that comprises the changes between REVISION-A and REVISION-B

       Example:
         tla delta tla--devo--1.1--patch-6             tla--devo--1.1--patch-8
       ,,changes

         Will pull patch-6 and patch-8 from tla--devo--1.1 and compute
         a changeset, which will be saved in a newly created ,,changes
         directory. If you would like a report instead,
         append the --diffs option

LOCAL CACHE COMMANDS

   tla changes
       report about local changes in a project tree

       Usage: tla changes [options] [revision] [-- limit...]

         -h, --help        Display a help message and exit.
         -H                Display a verbose help message and exit.
         -V, --version     Display a release identifier string and exit.
         -A, --archive     Override `my-default-archive´.
         -d, --dir DIR     Change to DIR first.
         -o, --output DIR  Save changeset in DIR (implies --keep).
         -v, --verbose     Verbose changeset report.
         -q, --quiet       Suppress progress information
         --diffs           Include diffs in the output.
         -k, --keep        Don´t remove the output directory on termination.
         --link            hardlink unchanged files to revision library
         --unescaped       show filenames in unescaped form

       Generate  a patch report describing the differences between the project
       tree containing DIR (or the current directory) and 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 "tla tree-version".

   tla file-diff
       show local changes to a file

       Usage: tla file-diff [options] file [revision]

         -h, --help      Display a help message and exit.
         -H              Display a verbose help message and exit.
         -V, --version   Display a release identifier string
                         and exit.
         -A, --archive   Override `my-default-archive´
         -N, --new-file  Treat missing file as empty

       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 "tla tree-version".

   tla file-find
       find given version of file

       Usage: tla file-find [options] file [revision]

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -N, --new-file   Print missing file as `/dev/null´
         --unescaped      show filenames in unescaped form

       Print  location  of  file  corresponding  to  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 "tla tree-version".

   tla pristines
       list pristine trees in a project tree

       Usage: tla pristines [options] [limit]

         -h, --help      Display a help message and exit.
         -H              Display a verbose help message and exit.
         -V, --version   Display a release identifier string
                         and exit.
         -d, --dir DIR   cd to DIR first
         -u, --unlocked  return only unlocked pristines
         -l, --locked    return only locked pristines
         -r, --reverse   reverse sort order

       Print the list of pristine revisions cached in project tree DIR (or the
       current directory).

   tla lock-pristine
       lock (or unlock) a pristine tree

       Usage: tla lock-pristine [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first
         -u, --unlock   unlock, rather than lock

       Lock the indicated pristine REVISION in the project tree containing DIR
       (or the current directory).  This  prevents  the  revision  from  being
       automatically recycled.

   tla add-pristine
       ensure that a project tree has a particular pristine revision

       Usage: tla add-pristine [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -d, --dir DIR  cd to DIR first

       Extract  REVISION from an archive, creating a pristine copy. Store that
       pristine copy in the current directory´s project tree

   tla find-pristine
       find and print the path to a pristine revision

       Usage: tla find-pristine [options] revision

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         -A, --archive    Override `my-default-archive´
         -d, --dir DIR    cd to DIR first
         -u, --unlocked   return only an unlocked pristine
         -l, --locked     return only a locked pristine
         -t, --tree-only  search this tree only, not siblings
         -s, --silent     exit status only

       Print the location of a pristine copy of the indicated revision

REVISION LIBRARY COMMANDS

   tla my-revision-library
       print or change your revision library path

       Usage: tla my-revision-library [options] [dir]

         -h, --help         Display a help message and exit.
         -H                 Display a verbose help message and exit.
         -V, --version      Display a release identifier string
                            and exit.
         -e, --errname      specify program name for errors
         -d, --delete       unspecify your revision library
         -s, --silent       suppress reassuring messages
         --search           use the full search path
         --add              use the full add path
         --search-only      use the search-only path
         --add-only         use the add-only path
         --first            prepend to the path if setting (default appends)

       With no argument, and without -d,  print  the  path  to  your  revision
       library.

       With  an  argument,  record DIR as the path to your revision library in
       ~/.arch-params/=revision-library

       With the option -d (--delete) and no argument, ensure that you  do  not
       have a revision library path set in ~/.arch-params.

       If  no  revision  library  is  set,  the  program  exits with status 1,
       printing an error message unless the -s (--silent) option is given.

   tla library-config
       configure parameters of a revision library

       Usage: tla library-config [options] library-dir

         -h, --help        Display a help message and exit.
         -H                Display a verbose help message and exit.
         -V, --version     Display a release identifier string
                           and exit.
         --greedy          make the library greedy
         --non-greedy      make the library not greedy
         --sparse          make the library sparse
         --non-sparse      make the library not sparse

       Set/show various parameters for a revision library.

   tla library-find
       find and print the location of a revision in the revision library

       Usage: tla library-find [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -e, --errname  specify program name for errors
         -s, --silent   suppress reassuring messages

       Find REVISION in your revision library  and  print  its  path.  If  the
       revision  is  not  present,  print an error message (unless --silent is
       specified) and exit with non-0 status.

   tla library-add
       add a revision to the revision library

       Usage: tla library-add [options] revision

         -h, --help            Display a help message and exit.
         -H                    Display a verbose help message and exit.
         -V, --version         Display a release identifier string
                               and exit.
         -A, --archive         Override `my-default-archive´
         -s, --sparse          Don´t fill in gaps in the library.
         --non-sparse          Fill in gaps in the library.
         -L, --library LIB     specify which library to add to
         --for-links PATH      require a lib on the same device as PATH
         --unescaped           show filenames in unescaped form

       Add REVISION to your revision library.

       This command has no effect and exits with status  0  if  the  indicated
       revision is already in the library.

   tla library-remove
       remove a revision from the revision library

       Usage: tla library-remove [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       Remove REVISION from your revision library.

       If  the  revision  is not present, print an error message and exit with
       non-0 status.

   tla library-archives
       list the archives in your revision library

       Usage: tla library-archives [options]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       List all archives with records in the revision library.

   tla library-categories
       list the categories in your revision library

       Usage: tla library-categories [options] [archive]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       List all categories within a given archive in the revision library.

   tla library-branches
       list the branches in a library category

       Usage: tla library-branches [options] [category]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´

       List all branches within CATEGORY in the revision library.

   tla library-versions
       list the versions in a library branch

       Usage: tla library-versions [options] [branch]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -r, --reverse  sort from newest to oldest

       List all versions within a particular archive/branch  with  records  in
       the revision library.

   tla library-revisions
       list the revisions in a library version

       Usage: tla library-revisions [options] [version]

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -r, --reverse  sort from newest to oldest
         -f, --full     list fully qualified names
         -s, --summary  print a summary of each patch
         -c, --creator  print the creator of each patch
         -D, --date     print the date of each patch

       List  all revisions within a particular archive/version with records in
       the revision library.

   tla library-log
       output a log message from the revision library

       Usage: tla library-log [options] revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         -s, --silent   suppress reassuring messages

       Print the log message for REVISION from the library.

   tla library-file
       find a file in a revision library

       Usage: tla library-file [options] file revision

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.
         -A, --archive  Override `my-default-archive´
         --id           interpret FILE as an inventory id
         --this         interpret FILE as a file within a project tree

       Find FILE in REVISION in your revision library and print its  path.  If
       the  revision  or  file is not present, print an error message and exit
       with non-0 status.

PUBLISHED REVISIONS COMMANDS

   tla grab
       grab a published revision

       Usage: tla grab [options] location

         -h, --help     Display a help message and exit.
         -H             Display a verbose help message and exit.
         -V, --version  Display a release identifier string
                        and exit.

       Grabs a published revision from LOCATION.

MISCELLANEOUS SCRIPTING SUPPORT

   tla parse-package-name
       parse a package name

       Usage: tla parse-package-name [options] name

         -h, --help             Display a help message and exit.
         -H                     Display a verbose help message and exit.
         -V, --version          Display a release identifier string
                                and exit.
         -A, --archive          Override `my-default-archive´
         -a, --arch             print the archive name
         --non-arch             print the non-archive part of the name
         -c, --category         print the category name
         -b, --branch           print the branch name
         -p, --package          print the package name
         -v, --vsn              print the version id
         --package-version      print the category--branch--version
         -l, --lvl              print the patch level
         --patch-level          synonym for --lvl

       Options -b, -B, -p, -v, and -l cancel each other.

       For -b, -v, and -l, just the id string is printed without "--".

       For -p, the output is "<basename>--<branch>".

   tla valid-package-name
       test a package name for validity

       Usage: tla valid-package-name [options] name

         -h, --help         Display a help message and exit.
         -H                 Display a verbose help message and exit.
         -V, --version      Display a release identifier string
                            and exit.
         -e, --errname      specify program name for errors
         --archive          require and explicit archive
         --no-archive       prohibit and explicit archive
         -c, --category     require a category
         -p, --package      require category, permit branch
         -v, --vsn          require a version number
         -l, --patch-level  require a patch level
         --lvl              synonym for --patch-level
         -t, --tolerant     tolerate more specific names

       Exit with status 0 if  PACKAGE  is  a  valid  package  name,  status  1
       otherwise.

       By default, require a basename or basename plus branch label.

       Options -v and -l cancel -b and vice versa.

       Option -l implies -v.

       If  an  error  name  is specified (-e or --errname), then invalid names
       cause an error message on stdout.  Otherwise, the exit  status  is  the
       only output.

       By  default,  validation is strict.  For example, -b checks for a valid
       basename and does not permit a branch label or version number.

       With -t, more specific names  are  permitted.   For  example,  -b  will
       permit a branch name, version number, and patch level.

   tla escape
       print strings in escaped or unescaped form

       Usage: tla escape [--unescaped] string

         -h, --help       Display a help message and exit.
         -H               Display a verbose help message and exit.
         -V, --version    Display a release identifier string
                          and exit.
         --unescaped      show filenames in unescaped form

       Using Pika escaping rules.

ENVIRONMENT

       EDITOR If  $EDITOR is set, use its value as the path of the text editor
              arch is to run when asking the user for text  input.  If  unset,
              log  messages  must  be given on the command line using the `-L´
              parameter or in the file created by `tla make-log´.

       HOME   User´s home directory, where arch  looks  for  .arch-cache/  and
              .arch-params/ .

       http_proxy HTTP_PROXY
              If $http_proxy or $HTTP_PROXY is set, arch used its value as the
              URL of the proxy to use for WebDAV  accesses.   $http_proxy  has
              higher priority than $HTTP_PROXY.  If unset, no proxy is used.

       TMPDIR If  $TMPDIR  is  set,  arch creates temporary files in the given
              directory. Otherwise, it uses `/tmp´.

FILES

       ${HOME}/.arch-cache/
              Directory where arch caches archive data

       ${HOME}/.arch-params/
              Directory where all the user´s settings are stored.

       ${HOME}/.arch-params/hook
              Hook script called after every execution of tla.

       ${HOME}/.arch-params/signing/
              Directory where the commands for signing and checking signatures
              are stored.

SEE ALSO

       http://gnuarch.org/, http://wiki.gnuarch.org/