Software Development with Linux

CVS clients reviews Cervisia

MON, 01 JUN 2009

This post is the first in my series of CVS Clients Reviews. The first tool reviewed is Cervisia version 3.2.2 using KDE 4.2.2 (which is what you'll get from Kubuntu 9.04).
"Cervisia is a graphical frontend for the CVS client." -- Cervisia's website
I've used libxml2 as my test project.

First you may want to do with a CVS client, is to create your CVS repository. If you don't have (or want) network access for your repository, you may use a local repository.

Creating the repository is easy. But, the repository you create isn't automatically added to the repository list of Cervisia. It is when you want to add it to that list that you may have difficulties. Unfortunately, you need to manually enter the CVSROOT, with it's access method, user-name, etc, and there are no validation of that. So you don't know if you've made a mistake.

It's particularly problematic when you want to import your module into your CVS environment. At that point, you need to select the repository, and enter a bunch of other information. But, if the repository isn't correct, it fails. So, you need to go back, delete the bugged repository, re-added it (without doing any mistakes), and then, try again importing your module.

This may very well frustrate any new user.

But, let say you've everything setup. So, you want to checkout you're module. This is a no brainer. You can even get the list of available modules and tags/branches, so you don't have to remember exactly what you want to get.

You are supposed to be able to edit the files by using the context menu on a file. Unfortunately for me, it would open the file as if it was read-only. Even by using different editors, it never worked. So, I had to manually fire-up my editor and modify the file from there.

The "diff" functionnality is OK, but it's slow to show up. So you may prefer to use another diff tool.

Committing files to the repository work well. The only issue I have is that the status of files aren't updated in real-time, and that there's nothing informing you of the status of files in sub-directories. So, be careful when you commit; you could either commit more than you want, or forget to commit some files.

The "Browse Log" functionality is great. You can choose between a "tree" view, a text list view, or simply the CVS output. There's even a "create patch" button, which is a nice addition.

Adding new files to the module work, but unfortunately, there's no way to recursively add a directory and it's content. I know that this is a limitation in the CVS command tool, but the frontend could have abstracted that for you.

Also, removing files leave the directory displayed, even if it's no longer on you drive. This may be misleading and create confusion.

So, all-in-all, I'm not sure that Cervisia is really better than directly using the cvs command. Some features are well implemented and offer advantages over the command line, but some other are not really usable.

If you're afraid of the command line, you may prefer to use Cervisia. Otherwise, there's not much there to impress you. We will hopefully find a better CVS client along the way...