ViewVC: Repository Browsing

On this page:

Valid XHTML 1.0 Strict

What Is ViewVC?

ViewVC is a browser interface for CVS and Subversion version control repositories. It generates templatized HTML to present navigable directory, revision, and change log listings. It can display specific versions of files as well as diffs between those versions. Basically, ViewVC provides the bulk of the report-like functionality you expect out of your version control tool, but much more prettily than the average textual command-line program output.

Here are some of the additional features of ViewVC:

  • Support for filesystem-accessible CVS and Subversion repositories.
  • Support for path-based authorization, including parsing and honoring Subversion authz configuration files.
  • RSS feed generation for tracking changes to repositories or individual items within repositories.
  • Individually configurable virtual host support.
  • Line-based annotation/blame display.
  • Revision graph capabilities (via integration with CvsGraph) (CVS only).
  • Syntax highlighting support.
  • Bonsai-like repository query facilities.
  • Template-driven output generation.
  • Colorized, side-by-side differences.
  • Tarball generation (by tag/branch for CVS, by revision for Subversion).
  • Localization support based on the Accept-Language request header.
  • Ability to run either as CGI script or as a standalone server.
  • Regexp-based file searching.
  • INI-like configuration file (as opposed to requiring actual code tweaks).

For a complete list of changes present in each release, see ViewVC's CHANGES file.

Here are some screenshots of ViewVC:


Directory view

History log view

Annotation view

Revision/changeset view

Requirements

The only hard software requirement for running ViewVC is Python 1.5.2 or later. All other requirements depend on what you want to do with the tool.

For use with Subversion repositories, you need these things:

  • Subversion 1.3.1 or later and its official (SWIG-generated) Python bindings.
  • Physical access to a Subversion repository (though there is limited, use-at-your-risk support for remote access, too).
  • GNU diff (if you want to be able to display diffs)

If you plan to use ViewVC with CVS repositories, you need the following things:

  • RCS (Revision Control System)
  • Read-only, physical access to a CVS repository.
  • GNU diff (if you want to be able to display diffs)

ViewVC integrates with additional pieces of software to provide certain bits of optional functionality:

  • Apache HTTP Server, or another server capable of running CGI programs — unless you just want ViewVC to run in standalone server mode.
  • MySQL — Needed to use the commit database query functionality.
  • Pygments — Needed for syntax highlighting in versioned file contents displays.
  • CvsGraph — Needed for version graph displays.

License

ViewVC employs a "two-clause Berkeley-style" license. It's pretty liberal as licenses go.

Copyright © 1999-2009 The ViewCVS Group. All rights reserved.

By using ViewVC, you agree to the terms and conditions set forth below:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

If you have specific questions about whether your particular usage of ViewVC is legal, feel free to contact us. We can probably answer simple questions — for complex ones, you better talk to a lawyer.