Diasparsoft Logo Let's write software that people understand.

Home | Contact

Training

JUnit support

Outsourcing

The work that Diasparsoft did for us was outstanding. We are now using the software on a daily basis and their work could well have a dramatic impact on the Reds' organization in the near future.Cincinnati Reds Baseball Club.


Publications

Tips & Tricks

Diasparsoft Toolkit

What is Diaspar?

Interesting Bits RSS

Home » Archives » July 2004 » From CVS to Subversion

[Previous entry: "Software Process Improvement"] [Next entry: "A fresh, new look!"]

07/17/2004: "From CVS to Subversion"


Last night I started making the switch from CVS to Subversion.

If you're not familiar with it, Subversion is a would-be replacement for CVS that fixes many of the problems with CVS. No more losing history when you move a file. No more clogging the repository with empty, abandoned directories. Tree-wide revisioning on every commit, and not just when you tag a module. Decent Eclipse integration.

I'll talk about my experiences here, starting with how I got started...

First I tried installing Subversion on my laptop, running Windows. I downloaded the Windows v1.0.5 package and installed it without a problem. Next, I created a repository with this command:

D:\home\jbrains\svn-repository> svnadmin create general

Once I created the repository, I went somewhere, created a sandbox, a directory named MyNewProject, some files, and imported the directory.

D:\home\jbrains\sandbox> svn import MyNewProject file:///d:/home/jbrains/svn-repository/general -m "My import comment. Great, no?"

Notice the repository URL—yes, URL—no more crazy CVS paths. Just a URL. For a local repository, the file protocol will do.

Next, I checked whether I was up to date:

D:\home\jbrains\sandbox> svn status

An empty response meant I was. Notice that we use status to determine whether we're up to date, and not update, as in CVS. Logical, no? When it's time to synchronize with the repository, then we do svn update.

Committing is familiar:

D:\home\jbrains\sandbox> svn commit -m "My commit comment. Great, no?"

That's essentially it. For more, check out the Subversion project, the Subclipse plug-in for Eclipse 3.0 (careful—get the right plug-in for your version of Eclipse!), the mailing lists and so on. So far, it's been a pleasurable experience. I have three repositories running on my Linux-based server, and I'm using the svn+ssh protocol to connect remotely: SVN over SSH. It works well!