As I discussed Subversion a year ago, dated back to July, 2006, it’s of great functionalities compared with the old versioning system, CVS. Currently, finally I have a chance and time to try it out.
The learning curve of SVN is comparatively easy, perhaps it’s due to the similar structure and interface to CVS. I just used two days to catch it up and switching a project from CVS to SVN successfully.
The major idea of SVN is the fact that it controls versions for a bunch of files, instead of one version for one file. In real case, we developers add a feature to software by manipulating bunch of files. Using CVS, we need to set up clear policy on making commit logs in order to let other developers know what you did for that feature. In case someone doesn’t follow the policy, everything will be messed up. For SVN, you commit a few files by saying these changes are for the same feature. Then, other developers are clear that why did you modify those files.
Moreover, one thing that is good for SVN is the better API I think. I am not sure about the actual infrastructure, but the fact is that there are many web applications, particularly issue trackers, that can query the SVN repository to display many different kinds of reports. For instance, I used one open-source software namely “Trac” which helps me relates the issue tracking progress to the changes on SVN. Trac can also query the SVN repository for revision comparison.
I can see switching to SVN is a trend in version control system development. At least many open source project has already switched to the SVN repository. It is easy to install, easier to control, and most importantly it is similar to using CVS as a client.
Install Instructions of Subclipse (SVN support on Eclipse): http://subclipse.tigris.org/install.html
Subversion Book: http://svnbook.red-bean.com/
Trac Project: http://trac.edgewall.org/








