Technology Consultants
Related Service:
Collaboration

Version Control in Multi-Person Projects

There has been an increase in the number of IT projects involving project teams. These project teams, working together, are oftentimes overlapping each other’s work. Additionally, due to the larger and longer projects, it is difficult to trace decisions, who made them, and when. Finally, email is used inappropriately to collaborate on project documents with all project team members, leaving out-dated document copies in mail boxes.

There are numerous technologies available to centrally store, manage and “version” project data. One of our favorites is Microsoft Office SharePoint Server (MOSS) but it requires quite a bit of work to deploy, if you haven’t already. Novell’s Teaming server works well, but again requires significant deployment time and resources.

A quick, multi-platform, and FREE centralized repository server called Subversion (an open-source version control application) is available online. Although Subversion can be downloaded and installed from the source site at http://subversion.tigris.org/, specific vendor implementations are available and can be quicker to setup. A free MSI installer is available for Windows from http://www.visualsvn.com/server/ and allows either stand-alone authentication or Windows (Active Directory) authentication and group-based permissions.

File trees are checked into and out of a Subversion repository which is a database of everything within the repository. The repository can be accessed via direct file, WebDAV, or SVN protocols depending partly on the server. Users generally download the entire repository but can maintain local working copies of individual files, if desired.

A more detailed overview of Subversion, its usage, and architecture can be found at: http://svnbook.red-bean.com/en/1.2/svn.intro.html#svn.intro.whatis

There are numerous clients available for the Subversion server, but one of the most popular and feature-rich is the free TortoiseSVN client available from http://tortoisesvn.net/. This client integrates into the Windows shell and allows uploading of files, check-in, check-out, revision tracking, and browsing of repositories.

One popular use of a version control server is Novell’s Designer for Identity Manager. Designer is built on the Eclipse Integrated Development Platform (IDE). Generally, multiple people work on the various connectors of an Identity Manager project and Designer’s integration with Subversion ensures the developers don’t step on each other’s work.

Regardless of the version control tool used, it is increasingly important to ensure that some form of versioning is used on multi-user projects.