<< I'm Going To Reuse It | Home | Desktopless In Windows >>

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.



Re: Subversion: First Impression

If the number one thing you do with CVS is get the sources of open source projects, then Subversion is not much of a win to you. Luckily, it has a similar syntax to cvs so you were able to get going right away. What do you use to version control your code? How would Subversion compare there?

Re: Subversion: First Impression

This is only my first encounter with Subversion. And those four commands are the only ones I tried today. I will learn more about this product in the coming days. I have not, for example, read the Subversion book (which is part of the source tree) yet.

I use CVS at home, which is why I feel very comfortable with Subversion. I have used/administered StarTeam (which I like very much), SCCS (yuck), and SourceSafe (before and after Microsoft purchased it from OneTree Software) at work.

I'll post my evaluation when I have tried out a few more things. Stay tuned.

Re: Subversion: First Impression

Im a huge CVS fan and subversion seems to have the simple elegance of cvs without some of the headaches. Like you, I use cvs at home for almost everything. Heck, even my resume is version controlled. Im curious how mature subversion is. I realize they claim that its mature but Ill wait to jump on the bandwagon until I see more projects using it. Ill look for further comments from you on your site.

Re: Subversion: First Impression

One thing you might not have noticed is that with subversion you can diff a locally modified file agains the version it was checked out from repository without reolly touching the remote repository. For the likes of us who aren't connected 24h/day this is a boon.

Add a comment Send a TrackBack