On Tue, 2005-11-29 at 09:46 -0500, Peter Amstutz wrote:
> Hash: SHA1
> I'm thinking about migrating the VOS source repository from CVS to SVN. 
> We use SVN at work (Linux server, Windows clients) and it has a variety of 
> advantages, such as atomic commits, better handling of binary files, 
> *vastly* better handling for deleting and renaming files and directories, 
> a branching and merging model that is a lot easier to understand (I've 
> never figured out CVS branches), better client support on Windows, easier 
> to set up fine-grained permissions, and overall better support (with 
> continuing active development).
> http://subversion.tigris.org/

Having used svn for the past three years, I'm not sure it's better than
cvs, on balance. Yes, it does add transactional semantics; and "svn
status" is very handy. But...

It's notion of branching completely sucks. It is wrongheaded in a
fundamental way.

cvs gets branching basically right: it's a tag that marks a lineage. The
lineage is versioned; the tag is not. svn gets this wrong. The branch
"tag" isn't a tag at all, but rather part of the whole versioned ball of

Suppose you have a file foo/bar/file. foo/bar/file gets deleted. The
foo/bar branch becomes foo/baz. Time passes. Maybe foo/baz becomes
bar/boo. You realize you need file. But you won't be able to retrieve it
as bar/boo/file--no way. You'll have to remember where it was when it
you deleted it.

svn is remarkably little help with things like this. Using the directory
structure to model branching was simply the Wrong Answer. And I fear svn
has gone to far down that road to turn back.

Braden McDaniel                           e-mail: <[EMAIL PROTECTED]>
<http://endoframe.com>                    Jabber: <[EMAIL PROTECTED]>

vos-d mailing list

Reply via email to