[cvs-plugin] VSCode extension to help you get over CVS.

Jaime Lin
4 min readMay 22, 2022

For these three months, I’ve been working on some projects which are version-controlled by CVS. Compared to the git, I would say CVS is a very outdated version control tool. But you know, life still goes on. Therefore I started this project to help you get over CVS on VSCode.

cvs-plugin logo

CVS is an old but powerful version control software. Honestly, it's a bit out-of-date and young people are not entirely familiar with it. If you’re such an unfortunate guy and have to use it in your working environment, this extension will have your back. You can easily acquire Visual Studio Code style diff instead of incomprehensible CVS diff. Hope you like it!

Here to find out this extension: https://marketplace.visualstudio.com/items?itemName=jaimelin.cvs-plugin

Important to know beforehand

This extension supports multi-root workspaces. Please open your each CVS repository at the top of workspace, like this

workspace hierarchy

Tested environments

  1. Ubuntu 20.04 Concurrent Versions System (CVS) 1.12.13-MirDebian-27 (client/server)

Functions

Activate this extension

  1. Click the button to activate this extension
activate it

2. Active! Show all folders in the workspace.

the actived page

Note

If you add a new repository to the workspace, please click this button to fetch all folders again.

refetch button

cvs status

Get all file statuses from the selected folder.

  1. Select the folder you want to check and click the status button.
status button

2. Wait

Please do NOT click the status button repeatedly. If you have a large repository, you might need to wait for a while. CVS is not a fast tool but it gives your a correct result finally.

waiting status bar

3. See the file status

There are four status types provided. The modified and conflict files are enabled by default.

  • M : Modified file
  • C : Conflict file
  • ? : Questionable file
  • U : Updated file (in server)
shown status

You can select the types you’r interested in. The items will be updated then.

Chose the items you want

cvs diff file

  1. Select the file you want to compare and click the diff button.
diff result

Note

This function is a bit different than standard cvs diff. The diff content is from comparing the current code to the latest revision code instead of the previous one. Therefore, it's highly recommended that you always perform cvs update.

2. (Not essential) You can click this button to open the file.

Todo list

  • cvs update
  • cvs commit

I’m still considering whether to implement these two functions. I like all functions I have so far. It helps me a lot in my daily work. Regarding of cvs commit, it’s risky to make users in trouble if something I’ve not considered happens. I highly recommend users commit their change carefully on the terminal. :)

For any bugs, please report them to this repository. If you like it, please thumb this article or star this repository. Enjoy!

Reference

https://github.com/Jaimecclin/cvs-pluging-vscode-ext

--

--

Jaime Lin

From Taiwan, a beautiful island. Learning English and sharing code experience.