<< February 27, 2004 | Home | February 29, 2004 >>

Subversion: First Impression

Subversion is on the news lately with its 1.0 release.

I've heard about Subversion for a few years now. I just never used it. I remembered seeing Subversion being installed as part of Fedora Core 1 when I installed it on my laptop 110 days ago. It's version 0.32.1. According to the Subversion status page, this was released on October 23, 2003, and the 1.0 release was branched from 0.35 on December 19, 2003. So I decided to try out Subversion 0.32.1. It can't be too far from the 1.0 release.

Subversion is billed as a compelling replacement for CVS in the open source community. What is the number one thing that I do with CVS? Getting the sources of an open source project. Wouldn't it be nice if I can grab the source of a project with Subversion? But which projects are using Subversion as their source control system? I bet the Subversion guys are eating their own dog food!

Sure enough, their version control page tells how:

To check out this project, use a Subversion client like so:

    $ svn co http://svn.collab.net/repos/svn/trunk svn 

Issuing the command from my GnomeTerminal resulted in this:

[weiqi@gao] $ svn co http://svn.collab.net/repos/svn/trunk svn
A  svn/Makefile.in
A  svn/ac-helpers
A  svn/ac-helpers/install.sh
A  svn/ac-helpers/install-sh
A  svn/build.conf
...

Worm and fuzzy!

What about update?

[weiqi@gao] $ cd svn
[weiqi@gao] $ svn up
At revision 8860.

Nice touch. The update command recurses over all subdirectories by default. The -N option makes it non-recursive.

svn diff generates diff files in the unified output format (the format generated by cvs diff -u), the diff file format requested for most other open source projects.

svn log works just like cvs log and display the log messages of past commits.

Since co, up, diff and log are the only four CVS commands I ever used when participating in a CVS based open source project, I'm now confident that I can participate in a Subversion based open source project comfortably as well.