This file is a annotated version of the output of tla help.

It should help us to identify the missing features of xtla regarding
tla itself. Don't forget that xtla is more than a "wrapper" around
tla, so, xtla should also have features not listed here to have a real
added value (the bookmarks feature is probably the best example).

There are currently 3 sections :

* TODO : Nothing was done for that

* DONE : Something was already done for that command. Probably it's
         still not perfect yet.

* NOT NEEDED : Nothing was done, and nothing will be done for this
               feature since it's meaningless in xtla.

After some time, there should be a fourth section :

* FINISHED : We consider this feature is fully implemented. At least
             we mean that, additions to this feature are lowest
             priority.

Moving an item from DONE to FINISHED or from TODO to NOT NEEDED should
be discussed on the mailing list.

                        tla sub-commands
                        ----------------

* help

[DONE]                        help : provide help with arch


* User Commands

[DONE]                       my-id : print or change your id

[DONE]          my-default-archive : print or change your default archive
[DONE]            register-archive : change an archive location registration
[DONE]             whereis-archive : print an archive location registration
[DONE]                    archives : Report registered archives and their locations.


* Project Tree Commands

[DONE]                   init-tree : initialize a new project tree
[DONE]                   tree-root : find and print the root of a project tree

[DONE]                tree-version : print the default version for a project tree
[DONE]            set-tree-version : set the default version for a project tree

[DONE]                        undo : undo and save changes in a project tree
[DONE]                        redo : redo changes in project tree

[DONE]                     changes : report about local changes in a project tree
[DONE]                  file-diffs : show local changes to a file


* Project Tree Inventory Commands

[DONE]                   inventory : inventory a source tree
[DONE]                   tree-lint : audit a source tree
[DONE]                          id : report the inventory id for a file

[DONE]           id-tagging-method : print or change a project tree id tagging method

[DONE]                      add-id : add an explicit inventory id
[DONE]                   delete-id : remove an explicit inventory id
[DONE]                          rm : remove a file (or dir, or symlink) and its explicit inventory tag (if any)
[DONE]                     move-id : move an explicit inventory id
[DONE]                          mv : move a file (or dir, or symlink) and it's explicit inventory tag (if any)
[TODO]            explicit-default : print or modify default ids

[TODO]         id-tagging-defaults : print the default =tagging-method contents


* Patch Set Commands

[TODO]                   changeset : compute a whole-tree changeset
[DONE]             apply-changeset : apply a whole-tree changeset
[DONE]              show-changeset : generate a report from a changeset


* Archive Transaction Commands

[DONE]                make-archive : create a new archive directory
[NOT NEEDED]         archive-setup : create new categories, branches and versions

[DONE]               make-category : create a new archive category
[DONE]                 make-branch : create a new archive branch
[DONE]                make-version : create a new archive version

[DONE]                      import : archive a full-source base-0 revision
[DONE]                      commit : archive a changeset-based revision

[DONE]                         get : construct a project tree for a revision
[DONE]               get-changeset : retrieve a changeset from an archive

[TODO]               lock-revision : lock (or unlock) an archive revision
[DONE]              archive-mirror : update an archive mirror


* Archive Commands

[DONE]                     abrowse : print an outline describing archive contents
[DONE]                     rbrowse : print an outline describing an archive's contents
[DONE]                  categories : list the categories in an archive
[DONE]                    branches : list the branches in an archive category
[DONE]                    versions : list the versions in an archive branch
[DONE]                   revisions : list the revisions in an archive version
[TODO]                    ancestry : display the ancestory of a revision
[TODO]              ancestry-graph : display the ancestory of a revision

[DONE]             cat-archive-log : print the contents of an archived log entry

[DONE]                    cacherev : cache a full source tree in an archive
[TODO]                  cachedrevs : list cached revisions in an archive
[TODO]                  uncacherev : remove a cached full source tree from an archive

[TODO]           archive-meta-info : report meta-info from an archive
[TODO]            archive-snapshot : update an archive snapshot
[TODO]             archive-version : list the archive-version in an archive

[DONE]               archive-fixup : fix ancillary files (e.g. .listing files) in an archive


* Patch Log Commands

[DONE]                    make-log : initialize a new log file entry
[TODO]                log-versions : list patch log versions in a project tree
[TODO]             add-log-version : add a patch log version to a project tree
[TODO]          remove-log-version : remove a version's patch log from a project tree
[DONE]                        logs : list patch logs for a version in a project tree
[DONE]                     cat-log : print the contents of a project tree log entry

[DONE]                   changelog : generate a ChangeLog from a patch log

[DONE]               log-for-merge : generate a log entry body for a merge
[TODO]                      merges : report where two branches have been merged
[TODO]                  new-merges : list tree patches new to a version


* Multi-project Configuration Commands

[DONE]                build-config : instantiate a multi-project config
[DONE]                  cat-config : output information about a multi-project config


* Commands for Branching and Merging

[DONE]                         tag : create a continuation revision (aka tag or branch)

[DONE]                      update : update a project tree to reflect recent archived changes
[DONE]                      replay : apply revision changesets to a project tree
[DONE]                  star-merge : merge mutually merged branches
[TODO]                 apply-delta : Compute a changeset between any two trees or revisions and apply it to a project tree
[DONE]                     missing : print patches missing from a project tree

[TODO]                 join-branch : construct a project tree for a version
[DONE]                   sync-tree : unify a project tree's patch-log with a given revision

[DONE]                       delta : Compute a changeset (or diff) between any two trees or revisions


* Local Cache Commands

[DONE]                     changes : report about local changes in a project tree
[DONE]                  file-diffs : show local changes to a file
[DONE]                   file-find : find given version of file

[DONE]                   pristines : list pristine trees in a project tree
[TODO]               lock-pristine : lock (or unlock) a pristine tree
[TODO]                add-pristine : ensure that a project tree has a particular pristine revision
[TODO]               find-pristine : find and print the path to a pristine revision


* Revision Library Commands

[DONE]         my-revision-library : print or change your revision library path
[DONE]              library-config : configure parameters of a revision library
[DONE]                library-find : find and print the location of a revision in the revision library
[DONE]                 library-add : add a revision to the revision library
[TODO]              library-remove : remove a revision from the revision library
[DONE]            library-archives : list the archives in your revision library
[DONE]          library-categories : list the categories in your revision library
[DONE]            library-branches : list the branches in a library category
[DONE]            library-versions : list the versions in a library branch
[DONE]           library-revisions : list the revisions in a library version
[TODO]                 library-log : output a log message from the revision library
[TODO]                library-file : find a file in a revision library


* Published Revisions Commands

[TODO]                        grab : grab a published revision


* Miscellaneous Scripting Support

[NOT NEEDED]    parse-package-name : parse a package name
[NOT NEEDED]    valid-package-name : test a package name for validity


