Man Linux: Main Page and Category List


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

       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  editting  a  file.  When  not  in  edit-mode,  this  is

       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

              -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

       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

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

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

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




       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