Man Linux: Main Page and Category List

NAME

       mtn - distributed version control system

SYNOPSIS

       mtn [options] <command> [parameters]

WARNING

       This  manpage  is  not  well-maintained;  it is a summary of monotone's
       capabilities, and probably contains inaccuracies.   For  the  complete,
       accurate  manual,  including  tutorial,  concepts,  and  full reference
       documentation,   please    use    info    monotone    or    refer    to
       http://monotone.ca/docs/.    The   developers  will  gratefully  accept
       patches to arrange that this manpage, the --help output, and  the  main
       manual are kept in sync mechanically.

       On  Debian  systems,  the monotone-doc package contains a local copy of
       the  HTML  manual  at  /usr/share/doc/monotone/html/index.html,  and  a
       printable PDF version.

DESCRIPTION

       Monotone  is  a  version  control  system, which allows you to keep old
       versions of files, as well as special manifest files which describe the
       location of files in a tree. Unlike other systems, versions in monotone
       are identified by cryptographic hash, and operations are  authenticated
       by  individual users' evaluating cryptographic signatures on meta-data,
       rather than any central authority.

       Monotone keeps a collection of versions  in  a  single-file  relational
       database.  It  is essentially serverless, using network servers only as
       untrusted communication facilities. A monotone database  is  a  regular
       file,  which  contains  all  the information needed to extract previous
       versions of files, verify signatures, merge and  modify  versions,  and
       communicate with network servers.

COMMANDS

       comment <id>
              Write a comment cert for a revision.

       approve <id>
              Make  a  "branch" cert approving of a revision's membership in a
              branch.

       disapprove <id1>
              Disapprove of a revision, committing the inverse changes as as a
              descendant of the disapproved revision.

       tag <id> <tagname>
              Put a symbolic tag cert on a revision.

       testresult <id> (0|1|true|false|yes|no|pass|fail)
              Indicate a passing or failing test result on a revision.

       diff [--revision=<id1> [--revision=<id2>] ] [<pathname>...]
              Show diffs between workspace and database.

       status [<pathname>...]
              Show status of workspace.

       log [id]
              Show  historical  log of revisions, starting from workspace base
              revision, or [id] if given.

       cert <id> <certname> [certval]
              Create a custom cert for a revision. Reads cert value from stdin
              if no value given on command line.

       genkey <keyid>
              Generate an RSA key-pair and store it in the database.

              Change passphrase of the private half of a key.

       list certs <id>
              List certs associated with revision.

       list keys [partial-id]
              List keys matching glob, or list all keys if no glob given.

       list branches
              List all branches.

       list tags
              List all tags.

       list vars [<domain>]
              List all vars (possibly limited by domain).

       list unknown [<pathname...]
              List  files in workspace, but not in revision's manifest or work
              list.

       list ignored [<pathname...]
              List files intentionally ignored due to the ignore_file hook.

       list missing [<pathname...]
              List files in revision's manifest, but not in workspace.

       list changed [<pathname...]
              List files in workspace that have changed compared to  the  base
              revision.

       fdata <id>
              Write file data packet to stdout.

       fdelta <oldid> <newid>
              Write file delta packet to stdout.

       mdata <id>
              Write manifest data packet to stdout.

       mdelta <oldid> <newid>
              Write manifest delta packet to stdout.

       certs <id>
              Write revision cert packets to stdout.

       rdata <id>
              Write revision data packet to stdout.

       privkey <id>
              Write private key packet to stdout.

       pubkey <id>
              Write public key packet to stdout.

       read [<file1> [<file2> [...]]]
              Read packets from files or stdin.

       cvs_import <cvsroot>/<module>
              Import  all  versions  in CVS module. Reconstructs revisions and
              converts metadata to certificates. A private  signing  key  must
              already exist in the database.

       rcs_import <rcsfile> ...
              Import  all  file  versions  in  RCS files. Does not reconstruct
              revisions across the entire tree.  You do not want this command,
              it is for debugging; use cvs_import.

       checkout [--revision=revision-id] [<directory>]
              Check out revision from database.

       co [--revision=revision-id] [<directory>]
              Check out revision from database; an alias for checkout.

       cat (file|manifest) <id>
              Write file or manifest from database to stdout.

       heads  Show  unmerged heads of branch, or report when branch is merged.

       merge  Merge unmerged heads of branch.

       add <pathname> [...]
              Add files to workspace. adding a file does not copy it into  the
              database,  merely adds it to the work list. You must commit your
              changes in order to copy added files to the database.

       drop <pathname> [...]
              Drop files from workspace. Files are not deleted from workspace,
              merely noted as removals in the work list.

       rename <src> <dst>
              Rename files from <src>  to <dst>  in workspace.

       commit         [(--message=<log        message>|--message-file=<file>)]
       [<pathname>...]
              Commit  workspace  to  database.   Each  commit  has a changelog
              message associated with it.  If --message  is  provided  on  the
              command  line,  it  is  used; if --message-file is provided, the
              content of the named file will be used as a commit  message.  If
              the  filename  is  '-'  the  commit  message  will  be read from
              standard input.  Otherwise a log message editor will be invoked.
              If  the  file  _MTN/log  exists and is non-empty, its content is
              used to prefill the editor.  You cannot specify  both  --message
              and  --message-file at the same time, and if _MTN/log exists and
              is non-empty, you can cannot specify either of them at all.

       update  [revision-id]
              Update workspace.

       refresh_inodeprints
              Turn on inodeprints mode, and force a cache refresh.

       push [<host> [<glob>]]
              Push contents of <glob> to database on <host>.

       pull [<host> [<glob>]]
              Push contents of <glob> from database on <host>.

       sync <host> <glob>
              Sync contents of <glob> with database on <host>.

       serve     [--pid-file=<path>]     [--bind=[<host>][:<port>]]     <glob>
       [--exclude=<exclude-glob>]
              Serve contents of <glob> at network address <host>, on the  port
              <port>.   If  <port>  isn't given, 4691 is used. If a --pid-file
              option is provided on the command line, monotone will store  the
              process id of the server in the specified file.

       set <domain> <name> <value>
              Set the db var <name> in domain <domain> to value <value>.

       unset <domain> <name>
              Delete any setting for db var <name> in domain <domain>.

       automate  (interface_version | heads | ancestors | attributes | parents
       | descendents |  children  |  graph  |  erase_ancestors  |  toposort  |
       ancestry_difference | leaves | inventory | stdio | certs | select)
              Scripting interface.

       db (init | info | version | dump | load | migrate | rebuild | execute |
       check)
              Manipulate database state.

OPTIONS

       Command line options override environment variables and settings in lua
       scripts (such as .monotonerc)

       --help Print help message.

       --debug
              Turn on debugging log on standard error  stream.  This  is  very
              verbose.  Default  is  to  be silent, unless an error occurs, in
              which case failure log is dumped.

       --quiet
              Turn off normal progress messages.

       --dump=<file>
              Dump debugging log to file on failure.

       --nostd
              Do not evaluate "standard" lua hooks compiled into monotone.

       --norc Do not load lua hooks from user's ~/.monotonerc file.

       --rcfile=<file>
              Load extra lua hooks from file (may be given multiple times).

       --db=<file>
              Use database in file.

       --key=<keyid>
              Use keyid for operations which produce RSA  signatures.  Default
              is inferred from presence of unique private key in database. Can
              also be customized on a  per-branch  basis  with  hook  function
              get_branch_key(branchname).

       -k <keyid>
              An alias for --key=<keyid>

       --branch=<branchname>
              Use  branchname  for operations on a branch. Default is inferred
              in operations on existing branches (commit, update, etc).

       -b <branchname>
              An alias for --branch=<branchname>

       --ticket=dot|count|none
              Use the given method to print tickers.  The count method  prints
              the  count for each ticker on one line, incrementing the numbers
              in place, while the dot method prints  a  continuous  string  of
              characters (like some programs provide a progress line of dots).
              none prints nothing.  The default is count.

       --revision=<id>
              Used to specify one or more revision ids to various commands.

       -r <id>
              An alias for --revision=<id>

       --message=<log message>
              Use the given message as the changelog  when  committing  a  new
              revision  rather than invoking the log message editor. Currently
              this option only applies to the commit command but it  may  also
              apply  to  the  comment  command  in the future.  This option is
              alternative to --message-file

       -m <log message>
              An alias for --message=<log message>

       --message-file=<message file>
              Use the  content  of  the  given  file  as  the  changelog  when
              committing  a  new revision rather than invoking the log message
              editor. If the passed filename is '-' the changelog message will
              be read from standard input.  Currently this option only applies
              to the commit command but it  may  also  apply  to  the  comment
              command in the future.  This option is alternative to --message.

       --author=<author email>
              Use the given author as the value  of  the  "author"  cert  when
              committing  a  new  revision,  rather  than  the default author.
              Useful when committing a patch on behalf  of  someone  else,  or
              when importing history from another version control system.

       --date=<date and time>
              Use  the  given  given date and time as value of the "date" cert
              when committing a new revision, rather than  the  current  time.
              Useful  when  importing  history  from  another  version control
              system.

       --root=<root dir>
              Stop the search for a workspace (containing the _MTN  directory)
              at the specified root directory rather than at the physical root
              of the filesystem.

       --xargs=<file>
              Inject the contents of the file in place among the command  line
              arguments.   This  may  be useful in case the command line would
              otherwise become too long for your system.  This option  can  be
              used more than once if needed.

       -@ <file>
              An alias for --xargs=<file>.

ENVIRONMENT

       EDITOR Used to edit comments, log messages, etc.

       VISUAL Used in preference to EDITOR, if set.

FILES

       $HOME/.monotonerc
              A lua script, used as a customization file.

SEE ALSO

       http://monotone.ca/

BUGS

       see http://savannah.nongnu.org/bugs/?group=monotone

AUTHOR

       graydon hoare <graydon@pobox.com>