CVS (Concurrent Versions System) is an open-source network-transparent version control system for individual developers to large, distributed teams.

CVSNT is made available under the terms of the GNU General Public License and can be installed on Windows (NT, 2000, XP) Linux and Unix installations.

The latest CVSNT version can be downloaded from:

A GUI front-end for CVS can be downloaded from:

rss feed

Installing CVSNT 2.0.51


Operating system used
Windows XP Home Edition Version 5.1 SP 2

Software prerequisites

  1. Login in Windows XP as a user with administrator rights, e.g.: Mainuser

  2. Download Windows install: cvsnt-2.0.51.exe

  3. Run cvsnt-2.0.51.exe

    CVSNT Setup

  4. Accept license agreement.

    CVSNT License

  5. Select location where CVSNT should be installed.

    CVSNT Destination Location

  6. Select "Typical installation".

    CVSNT Components

  7. Create program shortcut.

    CVSNT Start Menu Folder

  8. Select Aditional Tasks: select all

    CVSNT Additional Tasks

  9. Reboot your PC.

  10. Create a repository directory: e.g.: c:\CVSRepository
    Create a repository temp directory: e.g.: c:\CVSTemp
    Note: The repository must reside on a local NTFS file system (networked drives as well as FAT systems are not supported).

  11. Open the Control Panel and look for the icon "CVS for NT". Double click this icon.

    CVS for NT

  12. Stop the CVS Service if it is running.

    CVS Service Status

  13. Select tab "Repositories", press the Add button and select the C:/CVSRepository location.
    Enter Name: /CVSRepository

    If you intend to connect Eclipse to this CVS Repository you MUST change Name: /CVSRepository into C:/CVSRepository (use full path!)

    Eclipse doesn't like CVSNT's Repository prefix feature!

    CVS Prefix

    CVS Repositories

    When you press the OK button the following message is displayed:

    "C:/CVSRepository exists, but is not a valid CVS repository.
    Do you want to initialise it?"

    Select Yes.

  14. Select tab "Advanced", and change the "Temporary Directory" into C:\CVSTemp. Also enable "Use local users for pserver authentication instead of domain users."

    CVS Advanced

  15. Select tab "CVS Service" and start the CVS Service you stopped before.

  16. To check if CVSNT is installed correctly, type: cvs -version
    You should see:

    Concurrent Versions System (CVSNT) 2.0.51 (client/server)

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

    The Concurrent Versions System (CVS) is a tool for version control.
    For CVS updates and additional information, see
    the CVSNT home page at

  18. To display a list of cvs commands, type: cvs --help-commands
    To display a list of command synonyms, type: cvs --help-synonyms
    To display the usage of a command, type: cvs -H command or download cvs 2.0.51 command help file.

    Command Synonym Description
    add ad new Add a new file/directory to the repository
    admin adm rcs Administration front end for rcs
    annotate ann Show last revision where each line was modified
    chacl setacl setperm Change the Access Control List for a directory
    checkout co get Checkout sources for editing
    chown setowner Change the owner of a directory
    commit ci com Check files into the repository
    diff di diff Show differences between revisions
    edit   Get ready to edit a watched file
    editors   See who is editing a watched file
    export exp ex Export sources from CVS, similar to checkout
    history hi his Show repository access history
    import im imp Import sources into CVS, using vendor branches
    init   Create a CVS repository if it doesn't exist
    info inf Display information about supported protocols
    log lo Print out history information for files
    login logon lgn Prompt for password for authenticating server
    logout   Removes entry in .cvspass for remote repository
    ls dir list List files in the repository
    lsacl lsattr listperm List the directories Access Control List
    passwd password setpass Set the user's password (Admin: Administer users)
    authserver pserver Authentication server mode
    rannotate rann ra Show last revision where each line of module was modified
    rdiff patch pa Create 'patch' format diffs between releases
    release re rel Indicate that a Module is no longer in use
    remove rm delete Remove an entry from the repository
    rename ren mv Rename a file or directory
    rlog rl Print out history information for a module
    rtag rt rfreeze Add a symbolic tag to a module
    server Server mode
    status st stat Display status information on checked out files
    tag ta freeze Add a symbolic tag to checked out version of files
    unedit   Undo an edit command
    update up upd Bring work tree in sync with repository
    version ve ver Show current CVS version(s)
    watch   Set watches
    watchers   See who is watching a file

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

    Option Description
    -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).
    -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.
    -F file Read command arguments from 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.
    -N Supress network share error.
    -s VAR=VAL Set CVS user variable.
    --version CVS version and copyright.
    --encrypt Encrypt all net traffic (if supported by protocol).
    --authenticate Authenticate all net traffic (if supported by protocol).

  20. The next step is to add CVS users see guide, "How to add CVS users."
    If you want to know more about how to use CVS see quick guide: "How to use CVS."