ViewVC

ViewVC (formerly ViewCVS) is an open-source tool for viewing the contents of CVS and SVN repositories using a web browser. It allows looking at specific revisions of files as well as side-by-side diffs of different revisions. It is written in Python and the view parameters can be modified directly in a URL using a REST style interface.

History
ViewVC was inspired by the CVSweb application, an older web-based CVS repository viewer written in Perl. The original ViewCVS was a Python port of this application, with the intention to add enhancements to the existing functionality.

In 2001, the project was moved to SourceForge and is currently part of the SourceForge infrastructure as it is the repository browser used by the site.

One of the enhancements made was the ability to browse Subversion repositories. The eventual maturity of this support meant that the name "ViewCVS" was no longer appropriate, which, combined with SourceForge's lack of support for Subversion at the time, led to the project being renamed "ViewVC" and moving to tigris.org. This name change and migration occurred in late 2005.

Developers
Some of the people involved with the development of ViewVC are:
 * Greg Stein
 * Jay Painter
 * Tanaka Akira
 * Tim Cera
 * Peter Funk
 * Lucas Bruand
 * C. Michael Pilato
 * Russell Yanofsky
 * James Henstridge

Components
ViewVC consists of two main components. The first part is the repository browser. The second part is the commit database.

Complementary software

 * cvsgraph - allows graphical display of the branches and tags associated with a file in the repository.
 * GNU enscript - allows syntax highlighting of ViewVC output.
 * MySQL - for the commit database.
 * Pygments - Needed for syntax highlighting in versioned file contents displays.