# Configuring Concurrent Versions System (CVS)

> Create a CVS repository on your hosting account and connect to it from Windows, macOS or Linux clients.

Source: https://helpcenter.ruachost.com/developers/version-control/configuring-concurrent-versions-system-cvs/

**Configuring Concurrent Versions System (CVS)**\
Learn how to configure Concurrent Versions System (CVS) on Ruachost servers.

**About CVS**\
CVS is a distributed version control system that allows you to track multiple revisions of files and directories. It is installed on all shared Ruachost servers. Although newer systems like Git and Subversion are more common today, CVS is still used for some projects. This guide covers configuring CVS repositories on Ruachost servers, not all features of CVS.

## Creating a repository

1. Log in to your Ruachost account using SSH.
2. Create a repository:

```
cvs -d /home/username/repository init
```

Replace `username` with your Ruachost account username, and `repository` with the directory name for your repository. If the directory does not exist, `cvs init` creates it.

**Configuring a CVS client**\
To work with CVS repositories from another computer, you need a CVS client. Configuration depends on the operating system.

## Microsoft Windows

1. Download and install [TortoiseCVS](http://www.tortoisecvs.org/download.shtml).
2. Right-click on the desktop or folder, select **CVS → Preferences**.
3. Go to the **Tools** tab and enter the SSH parameters:

```
-l "%u" "%h" -P 22
```

*(Replace port 22 if your account uses a different SSH port.)*

4. To connect to a repository, right-click, select **CVS Checkout**, and fill in:

   - **Protocol:** Secure shell (:ext:)
   - **Server:** your domain name
   - **Repository folder:** `/home/username/repository`
   - **User name:** your account username
   - **Module:** project name
5. Enter your password when prompted. The module files are copied to your computer.

## macOS and Linux

1. Generate an SSH key pair and configure the SSH client to authenticate to the server.
2. Configure the CVS client. Edit `~/.ssh/config` (create it if it doesn’t exist) and add:

```
Host example.com
Port 7822
```

Replace `example.com` with your domain name.

3. Access the CVS repository using SSH:

```
cvs -d :ext:username@example.com:/home/username/repository checkout project
```

Replace `username`, `example.com`, `repository`, and `project` with your details.

**More information**\
For further details on CVS, visit <https://savannah.nongnu.org/projects/cvs>.
