Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>CVSNew to Visual Studio Code? Get it now.
CVS

CVS

Schwartzkers

|
8,274 installs
| (2) | Free
Integrates CVS support into VS Code's SCM interface
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CVS for Visual Studio Code

The extension provides CVS (Concurrent Versions System) support to VS Code. CVS is an older Source Control Management (SCM) system. The extension integrates CVS into VS Code's SCM interface for a familiar user experience such as git.

Pre-requisites

  • CVS client software is installed.
  • For remote CVS servers (pserver & ext) ensure the CVS client can login/connect successfully before using the extension. Future versions of the extension will attempt to detect and warn when the CVS server cannot be accessed.
  • The root of workspace folders must contain a CVS folder. The extension will ignore workspace folders (including sub-folders) that do not contain a CVS folder directly under the root of an added/imported workspace folder.

Features

The extension will automatically activate when it detects source code managed by CVS. It provides the following features:

  • Add new file or folder to the repository:
  • Remove file from repository:
  • Commit changes to the repository:
  • Merge changes from the repository into local copy
  • Discard local changes and revert to the repository revision.
  • View diffs between locally modified file and repository revision.
  • Display branch and revision number of file opened in active editor.
  • Display branches in workspace folders.
  • Merge Branches.

Source Control States

alt text

The following describes the possible states for a source control resource:

  • M (Staged Changes/Changes) Locally Modified
  • A (Staged Changes/Changes) Locally Added
  • R (Staged Changes/Changes) Locally Removed
  • D (Changes) Locally Deleted
  • R (Repository Changes) Removed from repository
  • F (Repository Changes) Folder found in repository
  • M (Repository Changes) Needs Merge with repository
  • NC (Conflicts) Needs Checkout from repository
  • P (Repository Changes) Needs Patch from repository
  • C (Conflicts) File had conflicts on merge
  • U (Untracked) Resource is not part of source control

Staged Changes

Changes to be included in a commit must be staged. However, unlike git, additional changes made to a staged item will not display under Changes. Think of Staged Changes as a collection of changed source control items that are selected for the next commit.

Repository Changes

To check for remote changes use the Refresh Repository icon. Remote changes detected by the extension are displayed here.

Conflicts

Changes that require user intervention to solve merge conflicts are listed in Conflicts.

alt text

Branch and Revision

The Branch (Sticky Tag) and Revision are displayed for the file opened in the active editor.

alt text

Quick Diff

Both the regular diff (when the user clicks on the changed resource in the source control view) and the Quick Diff (available in the left margin of the text editor) are provided by the extension.

alt text

CVS Gutter diff

Extension Settings

CVS Settings

File History

The File History tree view is defaulted to disabled (off). The view displays the revisions, for the current branch, assocaited with the file in the active editor.

CVS Settings

The view is designed with the expectation that the CVS repository has managed all cvs revison numbers for trunk (1.1, 1.2, 1.3, ...) and branches (1.3.2.1, 1.3.2.2, ...). If the cvs revision numbers have been manualy manipulated (e.g. cvs commit -r 3.0) the view will have undefined behaviour.

The view provides the following commands:

  • Compare the working revision with an older revision.
  • Switch a file to a previous revision.
  • Compare changes between contiguous revisions.
  • Revert a file's contents with a a older revision.

File Branches

The File Branches tree view is defaulted to disabled (off). The view displays the branches associated with the file in the active editor.

CVS Settings

The view provides the following commands:

  • Compare the file with the branch version.
  • Switch file to the branch version.
  • Merge file with the branch version.

Workspace Branches

The Workspace Branches tree view is defaulted to disabled (off). The view displays the branches associated with the active workspace folder.

CVS Settings

The view provides the following commands:

  • Add a new branch.
  • Compare the active branch with a branch. Results displayed in the COMPARE BRANCHES view.
  • Switch the workspace to a branch.
  • Merge the workspace with a branch.

Logging

The extension provides a log OUTPUT channel called CVS where the cvs client interactions can be viewed.

CVS Settings

Supported CVS Version

The extension was developed using version 1.12.13-MirDebian-28 (client/server) of CVS. Older versions may not be compatible with the extension.

Known Issues

  • The extension has been tested with Ubuntu 16.04 & 22.04 LTS. Issues encountered with Windows or macOS may not be resolved in a timely fashion.

Recommendations

  • For a better experience with the extension it is recommended to keep the workspace folders "reasonably" sized. Efforts have been made to reduce the requests to the CVS server, but to use many of the features provided by the extension some requests cannot be eliminated. For the best performance, it is recommended to avoid importing very large workspace folders. The preferred workspace folder size is ultimately determined by the size, connection speed and performance of the CVS server. Some experimentation may be required to determined the optimal workspace folder size for your set-up.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft