Why Use Subversion?

Using subversion for the first time can be an overwhelming and frustrating experience. However, when approached properly, the use of subversion provides a number of benefits. In particular, for folks who require a systematic way to track revisions to computer documents, subversion is an essential tool.

The primary benefit of using subversion is, it automatically maintains a history on all aspects of modifications to files, including who made changes, when they were made, and what the changes were. Because this oversight exists with subversion, it allows one to revert to previous versions of files, merge changes from one selection (branch) of files into another selection of files, check for differences among various file revisions, and see a detailed log about how files have evolved in their development.

You might seriously consider using subversion when your IgorExchange project will

  • undergo multiple revisions in a foreseeable time-frame (ie, is an evolving project)
  • be based on the interaction of multiple files (ie, is a complex project)
  • include changes made by other developers (ie, is a shared project)
  • potentially seed the generation of other projects (ie, is a resource project)

You should likely not use subversion (unless you really know how to and want to use it) when your IgorExchange project will be

  • a one-time development and release (ie, is a static project)
  • based on the interaction of less than two or three files (ie, is a simple project)

As implemented on IgorExchange, the subversion system can also automatically update a development snapshot of a project based on the most recent revisions made to a set of source files. Therefore, the use of subversion on IgorExchange allows you to give users of your project access to ongoing revisions in the project files even when those revisions may be experimental or as yet incompletely tested or documented. If you want to provide this type of ongoing and dynamic view of your project your users, then subversion will also be useful for your project development.

Back to top