Subversion (SVN) 1.5 has finally been released. Why should you care? For enterprise software managers who seek an open source software solution with a great feature set whose server and client run on Unix, Linux, Mac and/or MS Windows, SVN is a great choice.
The Subversion project, licensed as free and open software by CollabNet, began as a replacement for Concurrent Versions System (CVS). SVN has since grown beyond just fixing what was wrong with CVS and has come into its own as a great software configuration management tool. SVN 1.5 has upped the ante with support for tasks like the following:
- merge tracking;
- sparse checkouts;
- interactive conflict resolution;
- changelists, as well as
- WebDAV transparent write-through proxy; and
- several back-end improvements for speed and reliability.
Merge tracking is probably the most anticipated feature. During development, a developer sometimes creates a new branch in the code repository while creating a new feature. During this process, a developer merges code that gets added to the stable mainline while he continues the new feature work. When the new feature is complete, the feature branch is merged into the mainline.
Previously, the developer would have had to keep track of which revision he began the branch at – and which revisions were merged into the feature branch. With SVN 1.5.x, a server keeps track of this for you. You just issue the
svn merge command with the source you want to merge from, and it records what has been done. When you want to bring your branch into the mainline,
svn merge --reintegrate brings it in. To top it off, in the event of a conflict, interactive conflict resolution during a merge makes the process much easier.
The second biggest feature is the WebDAV transparent write-through proxy. Imagine that your SVN server is in the U.S., but there are developers working on the project in Asia as well. SVN operations done from that distance can be slow, especially with a large repository and a fresh checkout. With this feature, you can place a server in Asia for developers there to use. It will serve “read” requests like checkouts and updates locally, and write requests will be passed along to the “master” server back in the U.S. As an added bonus, this “proxy” server in Asia is a mirror of your “master” server in the U.S. in case disaster strikes.
Merge tracking and WebDAV transparent write-through proxy, as well as everything else that Subversion can do, make it a great enterprise software configuration management tool.