Thursday, February 22, 2007

Subversion Obliterate

As a developer, I'm a frequent user of source control - still mostly CVS, but also Subversion, IBM Rational ClearCase, and others.

For my personal development, I currently use CVS. Yes, it's a bit dated, and Subversion is generally intended as a replacement. However, it has a number of what I would consider basic, but serious issues that are still holding me back - and I would encourage others to contemplate these as well before making the switch.

The issue that stands out to me the most is the inability to remove versions or files - a trivial operation with CVS or just about any other version control system. See http://subversion.tigris.org./issues/show_bug.cgi?id=516 for the details and some rather involved discussion - even talk of a bounty to get the issue resolved!

For the most part, the idea of source/version control is the ability to go back to practically any point in time. However, sometimes there are compelling reasons for removals. What if a large amount of information, such as an entire hard drive, or confidential information, such as a password, is accidentally checked-in? The only remedy at the moment is to dump/filter/load the entire repository.

Wikipedia also has a few other comments on this.

Update (2008-03-04):

Benny Bottema also posted a very good article on this at his blog, as shown in his comment below. Linking to it here for convenience: http://blogs.quintor.nl/bbottema/2008/03/01/subversion-obliterate-the-forgotten-feature/

6 comments:

Benny Bottema said...

Not only that, it's been known about since 2001:
http://blogs.quintor.nl/bbottema/2008/03/01/subversion-obliterate-the-forgotten-feature/

Mark A. Ziesemer said...

Benny, thanks for the link. I've read through your post, and don't think there's anything that I can disagree with. It's a good read!

I wish Blogger would show it a working hyperlink. I'll add it into my post.

bbottema said...

well, time will tell I guess. I would spend some time on it myself, if I had it... and not a Java developer :)

Mark A. Ziesemer said...

Subversion isn't written in Java. If it were, I'd probably be taking a stab at it.

Pete Peterson said...

You should be using Git (http://git-scm.com/) and Github (http://github.com/)!

Codemonkey said...

The blog moved, but the article is still relevant:

http://blog.projectnibble.org/2008/03/01/subversion-obliterate-the-forgotten-feature/comment-page-1/

ELEVEN years now. Crazy.