Provided by: codeville_0.8.0-2.1_all bug

NAME

       cdv - codeville command line client tool

SYNOPSIS

       cdv command [options]

DESCRIPTION

       cdv  is a client for codeville, a distributed version control system.  It aims to perform the same job as
       SVN, CVS, RCS, arch, etc.

COMMAND OVERVIEW

       add <files>
              Add new files to the repository. All files must be added before they will be part of  the  version
              control system.

       commit [-b] [-m "<comment>"] [-n]
              Commits  all changes made to the repository since the last commit. A comment is required for every
              commit. It may either be supplied via the -m option for simple comments or if  the  -m  option  is
              omitted,  whatever  editor is specified in the EDITOR environment variable will be launched. If no
              editor is specified, vi is the default in all unixy environments (including OS X and  cygwin)  and
              Notepad  is  the  default  in  Windows. In the editor, a comment may be added at the top, and file
              changes which the user does not wish to have in a given changeset can be removed by deleting  them
              from  the  "###  files"  list  at  the bottom (although merging cannot be avoided through deleting
              things from the "### merge files" list). Every commit creates a changeset. If  there  are  changes
              since  the  last update, files will be merged. In the event of unresolved conflicts, the user will
              be prompted to resolve them.

              -n used to commit changes off-line.  Changes  committed  off-line  can  still  be  used  with  all
              commands, but are not visible to other users until an on-line commit is done.

              -b  forces  commit  to  not make a new changeset. This will commit changes which have already been
              committed locally via -n (or as a result of having multiple repositories involved), but  will  not
              create  a  new changeset for existing file modifications. This is especially needed for committing
              to back-up servers (servers started with -b) as it is the only way to commit changes to a  back-up
              server.  This  is  not the recommended way to commit changes to normal servers. In general, if one
              wishes to commit changes committed offline without committing new changes, one should  commit  and
              changeset with all the files in the ""### files"" list removed.

       construct <changeset>
              Recreates the repository at the given changeset.

       create <repository name>
              Creates a new repository with the appropriate name.

       describe [-x|-d] [-s] <changeset>
              Gives  the  description  of the changeset including the long name of the change, the user who made
              the change, that date it was made, the comment, the relation it has to other changesets, and  what
              files  were  modified  and  in  what  manner they were modified (i.e. added, modified, renamed, or
              deleted).

              -s gives a short description

              -d does a diff

              -x displays an XML version of the output. This is not compatible with displaying a diff. This  can
              only  be  used with parenthesized changesets from the file history. It's sort of a hack right now,
              really.

       destroy <repository>
              Destroys a repository. The opposite of create.

       diff [-r <changeset> [-r <changeset>] ] [<files>]
              Does a diff between different versions of each of given files. If  no  files  are  specified,  all
              relevant  files  are shown. The first -r option indicates which changeset the diff should be from,
              the second which it should be to. If no changesets are specified, it shows the difference  between
              the last known state of the repository and the current client state.

       edit <files>
              Enables editing a file. When not in edit-mode, this is unnecessary.

       heads  Lists the root nodes in the graph of changesets.

       history [-h <changeset>] [-n <number>] [-s <skip count>] [-v] [<files>]
              Gives the history of the repository or of the files specified. Specifically, it lists all relevant
              change sets by short name, user, date, and comment in most recent first order.

              -n limits the number of changes printed to the given number

              -h causes it to print the history starting at the given changeset.

              -s skips the first <skip count> changes.

              -v causes it to print the changes verbosely  which  includes  additional  information  about  each
              changeset which affected the files.

       init   Initialize  a  new  client  with the current directory as the root. Specify a directory other than
              current one by using the top level -p switch.

       is_ancestor <changeset1> <changeset2>
              Tells whether or not <changeset1> is an ancestor of <changeset2>. Note that  it  is  possible  for
              neither changeset to be an ancestor of the other.

       last-modified <file>
              Returns the last changeset which modified a given file.

       list-repos
              Lists all the repositories on the same server as the repository you are in.

       password
              Change your password.

       print_dag [-h <changeset>] [-h <changeset>] [...] <file>
              Prints the directed acyclic graph which shows the changesets which have been applied to a file and
              their relationships.

              Changesets specified with -h are treated as head nodes for the graph (i.e.  later  changesets  are
              excluded).

       print_history [<changeset>]
              Prints  the  directed  acylcic  graph of the the entire history. Starts at the given changeset, if
              provided.

       rebuild
              Recreates all of the metadata from the static history. This should generally  only  be  done  when
              instructed to by software upgrade instructions.

       remove <files>
              Deletes files from the repository.

       rename <file> <newname>
              Moves or renames files.

       revert [-a] <files>
              Reverts any local changes to the file. At this time only changes to the content of the file can be
              reverted. The ability to revert adds, deletes, and renames will be coming in the future.

              There is a subtle difference in the definition of revert from what you might expect. It  does  not
              guarantee  that  it  will  restore the file to some previous state. For example, if you are in the
              middle of a merge and call revert on a file, it will be regenerated by running the merge.  If  the
              file were modified prior to running the merge update, the file contents will now be different from
              anytime in the past.

              Revert should be thought of as throwing away uncommitted changes.

              -a indicates files should only be reverted if they have not been modified. Basically unmarks  them
              as open for edit.

       set <variable> <value>
              Sets a Codeville variable to a given value.

       show-vars
              Show a list of all Codeville variables and what they are set to.

       status [-v]
              Shows changes not yet committed to the repository in brief.

              -v gives more verbose status which includes mention of files which are in the directory space, but
              not in the repository and files missing from the directory space.

       unset <variable>
              Removes a Codeville variable so that it no longer has any setting.

       update [-d]
              Gets all changes made to the repository since the last time you  did  an  update.  Files  will  be
              merged as necessary. In the event of unresolved conflicts, the user will be asked to resolve them.

              -d  pull  in changesets but do not merge them. Has no effect on the workspace state. This allows a
              user to browse and diff changesets without having to merge.

SPECIFYING FILES

       Files can be specified using bash-style wildcards on any platform. In addition, '...' behaves like a find
       command, expanding all files and directories within subdirectories.  General notes:

       Flags are listed in no particular order.

       All printed graphs are output in a format intended to be run through graphviz tools' "dot" tool.

SEE ALSO

       cdvpasswd(1), http://www.codevile.org/

AUTHOR

       This  manual page was written by Michael Janssen <jamuraa@debian.org> from the documentation available at
       http://www.codeville.org/, for the Debian GNU/Linux system (but may be used by others).

                                                   Dec 1 2005                                             CDV(1)