Provided by: codeville_0.8.0-2.1_all bug


       cdv - codeville command line client tool


       cdv command [options]


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


       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

              -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.

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

              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.

              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 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

       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.


       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"




       This   manual   page   was  written  by  Michael  Janssen  <>  from  the
       documentation available at, for the Debian GNU/Linux system (but
       may be used by others).

                                            Dec 1 2005                                     CDV(1)