Monday April 22, 2002
the man in the next bed wants your slippers...
Today I have been furthering the cause by having a play with Subversion.
Initial feelings are favourable, with a few caveats.
I'm going to handwave over the build process for now, it was a little involved but this is pre-release code. I reckon I could install a new repository from scratch in about half an hour now, and that's mostly compile time.
Here's an overview of things I've found important
- It has changesets
- It's free - Apache/BSD style licensing.
- Committing a changeset is quick, equivalent to commiting the files themselves. With CVS you need to do the commit then a tag, which if you'll remeber is very costly when the size of your project tends towards large.
- Renames, moves, and removals are properly versioned
svn diff is an offline operation.
- To make
svn diff and a few other features work offline it keeps lots more metadata is working directory compared to CVS. Almost 3 times the size of the files alone. I personally think it's worth it, as it allows more hacking to happen offline.
- The repository is pretty big too. 1692 revisions of bleadperl (51M of files) consumes 1.1G of disk space making CVS look trim at 147M.
- Those 1692 versions of blead were committed in about 10 hours on a Cyrix MII 266 (522.64 Bogomips); CVS has been chewing over them for 2 days on a 266Mhz G3 PowerBook (532.48 Bogomips), and still isn't done yet.
svn import and
svn checkout seem to take a while, but updates and commits seem quicker than networked CVS.
More later, if it does anything else interesting.