Switching from darcs to subversion

Tuesday 14 December 2004This is over 18 years old. Be careful.

Back in November, I described darcs as perfect for my needs. After using it for a while, I’m switching again. Darcs is very cool, and has a real advantage over traditional source code control systems (it’s completely decentralized). But for my one-person projects, I don’t need that decentralization, and darcs has disadvantages as well: it isn’t as mature or as widely adopted as other tools, and it sometimes gets very slow.

Also, I can’t get out of the sequence-of-revisions mindset. So now I’m trying Subversion, the “compelling replacement for CVS”.


Hey Ned
Keep us posted on the Subversion end of things... Hope all is well.
I moved all my home projects etc. some time ago into SVN as well, I didn't even bother with CVS when I made the switch from VSS (yeah, I know..., can't make that switch FAST enough!) The WebDav version via Apache works great (never tried the svnserve daemon). I have everything in berkely db format, although the newer version now also supports flat files. (I never had a "wedged" db so far in single user mode). On the client side I use TortoiseSVN and some scripts driving it, works great for what I need out of it. Actually, Sylvain G. pointed me towards SVN, so....thanks Sylvain, a billon times better than VSS for sure :-)
I've been using subversion for over a year, and I really like it. Ok it doesn't have all the features of say arch, but quality of implementation matters when it comes to source control. It comes down to, "which team do I want to store my most valuable data?" I far perfer the subversion organization.
I've got some users looking at having SVN play with Roundup ... you might be interested. Roundup is, of course, the best issue tracker implmemented in Python in existence, in my totally unbiased opinion ;)
What imaturities in Darcs have you suffered from? Technical or commercial?
The "immaturities" in darcs have been about robustness, level of documentation, supporting tools, and fit and finish on Windows.

The main reason I switched is because of the patch model. While darcs' model is powerful and impressive, I don't need it. I would rather have a linear model that fit better with my habits.
My CVS disk died and the old, slow machine the disk was in looks like dying soon too, so I was going to try out darcs because of the decentralised model.

I'm using hosted SVN for M2Crypto and haven't really gotten the hang of it yet...

(My CVS is backed up onto multiple CDRs, so I'm covered there. ;-)
I've had an excellent experience with Subversion so far. Like Thomas says, the Apache integration is pretty nice - I've security-nerded it out a little further and secured all my repositories with SSL client certificate authentication. No real stumbling blocks along the way, it worked with no hitches. Now I'm on to Python and ViewCVS for browsing the repositories.

Also worth noting is one cool feature I found added to Apache 2.0.52: the SSLUserName directive. Basically a simple hack to populate the auth context in apache with an attribute from the verified client certificate. My logs and acl decisions all use the certificate DN, a nice feature for my contained environment.

My only wish is for better Eclipse integration, the subclipse support is a little lacking compared to the native CVS.

\* begin plug *\
Oh, and if you're ever looking for books for Subversion, a family friend wrote Practical Subversion.
\* end plug *\
Here is my post (does this blog support trackbacks?):

I tried using Subversion for version control at home on my Windows box. There is a Windows add-on TortoiseSVN that appears when right-clicking a file or directory. However, Subversion/TortoiseSVN did not work out for me.

I needed a simple one-machine repository without a need for remote access.

The problem is that TortoiseSVN keeps the repository in the same directory where your files are in ".svn" directory, which is bad for many reasons. I think I configured it to store the repository under a separate directory tree (which was created).

The other problem is that right-click menus give a bunch of options are I did not understand. At the same time, it did not offer Diff, and History/Log on directories, but only on individual files.

I also tried Perforce. I was always lost in that program. Part of the problem, as is the case with Subversion, is that they decided to rename terms "Check In" and "Check Out" that are used by 99% of the developers.

The software that I really loved is StarTeam by StarBase. The company was later bought by Borland, and I don't know how much they changed the software. It was great, but also very expensive (I used it at work).

SourceSafe is quite bad, but still better than anything else that is free.
I use Trac all the time. It's great to have the wiki, source code, bug tracking all related.
> SourceSafe is quite bad, but still better than anything else that is free.

This made me laugh. It's true.

You know they're keeping SS on life support with some minor revisions even after VS.NET 2005 ships. The all singing all dancing "Team System" does NOT replace SS as the entry level source control tool.. :(

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.