|
From: <le...@cc...> - 2004-11-12 15:15:41
|
I've been using subversion for a while now (over a year) and now I always choose it over CVS when possible. Some nice features are: 1. It has built-in rename and copy operations. So if you name a file wrong, or put it in the wrong directory, you can fix it and the version control system doesn't get messed up. How many CVS projects have you all been on where you have a stupidly-named file but you leave it alone because you don't think it's worth losing the history of the file? 2. It has a tagging system that is dirt simple and that I actually understand. You simply do "copy" operations on directory trees. For example, you can have a "releases" directory, and then do things like "svn copy mainstuff releases/squeak-3.7.0" to make releases/squeak-3.7.0 have an entire copy of the tree saved into releases/squeak-3.7.0. 3. The commands for manipulating directories are a lot simpler than with CVS. They are things like "svn mkdir" and "svn rmdir". Overall, my experience suggests that the summary given by others is correct: it is CVS with some of the annoying parts cleaned up. As for accessing from Squeak, I expect that svn is harder to implement directly; CVS operates on one file at a time, while svn operations can be more complicated. It's not necessary to implement svn natively, though, given that we have OSProcess arounnd. Just fork-exec svn processes as necessary. Incidentally, if you do switch to SVN, be aware that you don't need to bother with all the HTTP-based stuff that they try to get you to use. The "svn+ssh" mode works just fine and is equivalent to accessing CVS over ssh the familiar way it is done on SourceForge. I don't know anything about darcs or about the different styles of VCS systems, so can't help there. -Lex |