Subversion Hits Alpha
C. Michael Pilato writes: "This overheard while eavesdropping on announce@subversion.tigris.org: Gentle coders, The ever-growing cadre of Subversion developers is proud to announce the release of Subversion 'Alpha' (0.14.0). Since we became self-hosting eleven months ago, we've gone through ten milestones. This milestone, however, is the one we've always been working towards; it's a freeze on major features for our 1.0 release. From here out, it's mostly bug-fixing. We hope this announcement will lead to more widespread testing; we welcome people to try Subversion and report their experiences on our development list and issue tracker." Subversion, a source control system akin to CVS, has been in the works for a couple of years now.
As it says right on the front page, Subversion uses WebDAV as its transport protocol. As webdav is based on HTTP 1.1 you get all the benefits of HTTP, like for example SSL encryption.
For small (less than 200.000 lines of code) projects it's pretty good. You should know the limits like the size of the database shouldn't exceed 1GB, but overall the tool works seemlessly. Here we have over 20 projects in several databases and haven't found any problem with it since we started using it back in 1999. (Yes we check for errors ;) ). For the small price-tag it has, it has a lot of features and a nice gui, which supports visual conflict resolving, drag/drop sharing/branching etc.
You shouldn't use it for large projects. So when people still use it for large projects, it can be cumbersome and slow.
So your 'it's a total piece of shit' is way off base, or you're one of these people who cram 1.5 million lines projects in Sourcesafe and then start complaining.
Never underestimate the relief of true separation of Religion and State.
Quoting AC:
So the client is entirely web based? How do you checkin code? Paste it into a web browser?
No, the client is a command-line client, like cvs. It just uses HTTP (or to be more specific WebDAV, a HTTP extension) to communicate with the server.
If you're looking for something to embed/extend and you know Java, then Slide would make sense, especially if you're planning to use it for something other than source code management. However, you might still want to use subversion for the source of that project... Most people don't need to extend their source code manager much, except perhaps with a few scripts.
Well the nice thing about it is that it uses tools that already exist, so they get client/server essentially for free. WebDAV, for example, is an existing protocol for document versioning over networks. Makes it a perfect fit for this. Also, because it uses Apache, it can take advantage of the proven security and stability of the server. What would be bad is if Subversion rolled its own server and protocol.
A deep unwavering belief is a sure sign you're missing something...
You are overstating the requirements a bit. WebDAV is part of Apache 2, and Apache 2 is only required for remote access to the repository. The only real dependancies are Neon, BerkelyDB 4, which, at least for linux, will likely be included in the next generationj of distributions as Berkeley DB 3 and 2 are now. A neon is justa small shared library, not that big of a deal.
Look at it this way, by the time Subversion is released the packages it depends on will be standard parts of most Linux distributions and will be staples in the *BSD ports system if they aren't already. Subversion will just snap right in.
And I have to disagree about administrative overhead. By integrating with Apache, it's one less network service to configure, plus you get to take advantage of Apache's authentication modules, and you get web repository access with no extra setup.