As we've written before, the use of the Subversion source code management system is slowly declining in the open source community, as new alternative git gains ever more attention. But that doesn't mean the Subversion folks have given up - far from it. In fact, they recently released version 1.5, chock-full of new features on both client and server.
Some of the new features seem clearly inspired by the success of git; others less so. Taken together, though, they clearly indicate that you can continue to use Subversion for many projects, and the development to improve the system is ongoing. Here's a high-level overview of some of the most significant changes.
Merge Tracking is probably the biggest change here. Subversion now tracks information on every merge you make, making it easier to branch and merge on a frequent basis without causing trouble. You can even cherry-pick individual changesets to merge from one branch to another.
Sparse Checkouts will be appreciated by those with huge repositories. A sparse checkout lets you pick just the directories that you want to pull down from a repository to a working copy, speeding operations and conserving disk space.
Interactive Conflict Resolution should speed up merges considerably. Now if you check code in from the command line, you can interactively explore and fix any conflicts, without generating all of the extra files that you used to have to inspect. This feature is covered by the Subversion API, so other clients should be able to upgrade to use it as well.
Sharding Support is another optimization for huge repositories, removing the requirement that all files for a repository reside in a single directory on the server.
Subversion 1.4 and 1.5 servers and clients can interoperate (though if there are 1.4 bits in the mix, some new features will be missing or degraded). Installing the 1.5 server does not automatically upgrade your repository to the new version. However, opening a working copy with a 1.5 client will upgrade it to the new version, so make sure you have a comprehensive rollout plan before you experiment.
Comments
Share Your Comments
Trackback URL
http://ostatic.com/trackback/165920