ViewVC Help: General


Directory View
Log View



ViewVC is a WWW interface for CVS and Subversion repositories. It allows you to browse the files and directories in a repository while showing you metadata from the repository history: log messages, modification dates, author names, revision numbers, copy history, and so on. It provides several different views of repository data to help you find the information you are looking for:

Multiple Repositories

A single installation of ViewVC is often used to provide access to more than one repository. In these installations, ViewVC shows a Project Root drop down box in the top right corner of every generated page to allow for quick access to any repository.

Sticky Revision and Tag

By default, ViewVC will show the files and directories and revisions that currently exist in the repository. But it's also possible to browse the contents of a repository at a point in its past history by choosing a "sticky tag" (in CVS) or a "sticky revision" (in Subversion) from the forms at the top of directory and log pages. They're called sticky because once they're chosen, they stick around when you navigate to other pages, until you reset them. When they're set, directory and log pages only show revisions preceding the specified point in history. In CVS, when a tag refers to a branch or a revision on a branch, only revisions from the branch history are shown, including branch points and their preceding revisions.

Dead Files

In CVS directory listings, ViewVC can optionally display dead files. Dead files are files which used to be in a directory but are currently deleted, or files which just don't exist in the currently selected sticky tag. Dead files cannot be shown in Subversion repositories. The only way to see a deleted file in a Subversion directory is to navigate to a sticky revision where the file previously existed.

Artificial Tags

In CVS Repositories, ViewVC adds artificial tags HEAD and MAIN to tag listings and accepts them in place of revision numbers and real tag names in all URLs. MAIN acts like a branch tag pointing at the default branch, while HEAD acts like a revision tag pointing to the latest revision on the default branch. The default branch is usually just the trunk, but may be set to other branches inside individual repository files. CVS will always check out revisions from a file's default branch when no other branch is specified on the command line.

More Information

More information about ViewVC is available from See the links below for guides to CVS and Subversion

Documentation about CVS

Open Source Development with CVS
CVS User's Guide
Another CVS tutorial
Yet another CVS tutorial (a little old, but nice)
An old but very useful FAQ about CVS

Documentation about Subversion

Version Control with Subversion

ViewVC Users Mailinglist