CVS (Concurrent Versions System) is an open-source network-transparent version control system for individual developers to large, distributed teams. The biggest limitation of CVS is that it uses a command line interface. WinCvs is developed to provide a graphical front end to the CVS core.

WinCvs is made available under the terms of the GNU General Public License version 2.

Download the WinCvs-1.3 user guide.

The WinCvs Daily Use Guide can be found at:

The latest WinCVS version can be downloaded from:

Information about CVS can be found at:

Enter CVS commands in output pane.

The Output pane, which by default is in the lower portion of the WinCvs display, can be used to manually enter CVS commands.

Operating system used
Windows XP Home Edition Version 5.1 SP 2

Software prerequisites

  1. Select menu: Edit | Shell | Tcl
    Note: It is recommended to use the Tcl shell.

  2. To check which CVS version is used, type: cvs -version
    You should see:
    Concurrent Versions System (CVSNT) 2.0.8 (client/server)

  3. To display help, type: help
    You should see:

    Help :
      cvs : the cvs tool.
      help : this help.
    Others commands :
      cd : change directory
      pwd : print current directory
      ls : list the current directory
      info ? : misc. informations
      info commands : all the TCL commands

  4. To display the cvs usage, type: cvs --help
    You should see:
    Usage: cvs [cvs-options] command [command-options-and-arguments]

    where cvs-options are -q, -n, etc.
    (specify --help-options for a list of options)

    where command is add, admin, etc.
    (specify --help-commands for a list of commands
    or --help-synonyms for a list of command synonyms)

    where command-options-and-arguments depend on the specific command
    (specify -H followed by a command name for command-specific help)

    Specify --help to receive this message

  5. To display a list of cvs commands, type: cvs --help-commands
    To display a list of command synonyms, type: cvs --help-synonyms

    add ad newAdd a new file/directory to the repository
    admin adm rcsAdministration front end for rcs
    annotate annShow last revision where each line was modified
    chacl setacl setpermChange the Access Control List for a directory
    checkout co getCheckout sources for editing
    chown setownerChange the owner of a directory
    commit ci comCheck files into the repository
    diff di diffShow differences between revisions
    edit  Get ready to edit a watched file
    editors  See who is editing a watched file
    export exp exExport sources from CVS, similar to checkout
    history hi hisShow repository access history
    import im impImport sources into CVS, using vendor branches
    init  Create a CVS repository if it doesn't exist
    info infDisplay information about supported protocols
    log loPrint out history information for files
    login logon lgnPrompt for password for authenticating server
    logout  Removes entry in .cvspass for remote repository
    ls dir listList files in the repository
    lsacl lsattr listpermList the directories Access Control List
    passwd password setpassSet the user's password (Admin: Administer users)
    authserver pserverAuthentication server mode
    rannotate rann raShow last revision where each line of module was modified
    rdiff patch paCreate 'patch' format diffs between releases
    release re relIndicate that a Module is no longer in use
    remove rm deleteRemove an entry from the repository
    rlog rlPrint out history information for a module
    rtag rt rfreezeAdd a symbolic tag to a module
    server  Server mode
    status st statDisplay status information on checked out files
    tag ta freezeAdd a symbolic tag to checked out version of files
    unedit  Undo an edit command
    update up updBring work tree in sync with repository
    version ve verShow current CVS version(s)
    watch  Set watches
    watchers  See who is watching a file

  6. To display a list of cvs options, type: cvs --help-options

    -D prefix Adds a prefix to CVSROOT.
    -H Displays usage information for command.
    -Q Cause CVS to be really quiet.
    -q Cause CVS to be somewhat quiet.
    -r Make checked-out files read-only.
    -w Make checked-out files read-write (default).
    -l Turn history logging off.
    -n Do not execute anything that will change the disk.
    -t Show trace of program execution (repeat for more verbosity) -- try with -n.
    -v CVS version and copyright.
    -T tmpdir Use 'tmpdir' for temporary files.
    -e editor Use 'editor' for editing log information.
    -d CVS_root Overrides $CVSROOT as the root of the CVS tree.
    -f Do not use the ~/.cvsrc file.
    -z # Use compression level '#' for net traffic.
    -x Encrypt all net traffic (fail if not encrypted).
    -y Encrypt all net traffic (if supported by protocol).
    -a Authenticate all net traffic.
    -s VAR=VAL Set CVS user variable.
    --version CVS version and copyright.
    --encrypt Encrypt all net traffic (if supported by protocol).
    --authenticateAuthenticate all net traffic (if supported by protocol).