HipVersion: Manipulate versioned repositories using Java

Software configuration management (SCM) is the "tracking and control of software development" [1]. By providing facilities for "version control", concurrent development, release management, and change review, SCM tools make team programming more productive and less error-prone [2]. While SCM tools are heavily used in industry, few undergraduate courses make use of them because the overhead associated with setting them up and securing them is considerable [3]. The Hippo project aims to reduce this overhead by providing tools that will automatically configure the Subversion version-control system for academic use. Once Subversion is configured, Hippo will also allow both students and instructors to manage it via a simple web interface.

Before the HipVersion project was started, Hippo manipulated Subversion repositories using a home-brewed class named SvnProvider. The goal of the HipVersion project is to improve the functionality, performance and reliability of Hippo's Java bindings by replacing SvnProvider with the official Subversion Java bindings maintained by the Subversion team.

The Full Report [PDF] describes the design process, history, and outcome of the HipVersion project.

Author: David James

[1] Eaton, Dave. Configuration Management Frequently Asked Questions. URL: ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/sw-config-mgmt/faq
[2] Perforce 98.2: Glossary. Perforce. URL: http://www.perforce.com/perforce/doc.982/cmdguide/glossary.html
[3] Helium Project Overview. Third Bit. URL: http://www.third-bit.com/helium/doc/overview.html