ViewVC: Repository Browsing

The History of ViewVC

The ViewVC software was inspired by early versions of cvsweb (originally written by Bill Fenner, further developed by Henner Zeller, and now maintained as CVSweb by the FreeBSD community). Greg Stein wanted to make some changes and updates, but cvsweb was implemented in Perl. He wrote:

"While I can manage some Perl, cvsweb was rather unmaintainable for me. So I undertook the task to convert the software to Python. As a result, I've actually been able to go way beyond the simple changes that I had envisioned."

So ViewVC started out as just a port of the cvsweb script, originally called ViewCVS. Along the way, it has had numerous cleanups and other modifications, a process simplified by the elegance of the Python language.

In 2001, the ViewCVS project was moved to SourceForge, a popular software collaboration environment. There the project continued to mature, releasing several stable-yet-pre-1.0 versions. In 2002, C. Michael Pilato began implementing support for Subversion in ViewCVS, taking advantage of a version control abstraction layer begun by Lucas Bruand. Along the way, Russell Yanofsky delivered large improvements to that abstraction, and to ViewCVS as whole. ViewCVS was well on its way to releasing a 1.0 version.

Of course, now that ViewCVS could browse Subversion repositories as easily as CVS ones, the ViewCVS name seemed inappropriate. Also, the active ViewCVS developers at the time were growing frustrated with SourceForge as a project hosting environment — Subversion wasn't yet available as an option for version control, the CVS service was always down at just the wrong moment, the bug trackers were painful to use, and so on. So in late 2005, the decision was made to rename the project to ViewVC, to convert the project's CVS data to Subversion, and to move the project and its version controlled and open issue data to

In 2016, development of ViewVC was moved from to GitHub.

The ViewCVS Group

The ViewCVS Group is an informal group of people working on and developing the ViewVC package. The current set of members are listed below with some of their notable contributions:

Greg Stein
original python port of Henner Zeller's cvsweb, secure popen implementation, configuration file implementation, rcsparse module, and EZT template engine
Jay Painter
CVSdb query engine
Tanaka Akira
enscript colorization and tarball generation
Tim Cera
CvsGraph support, log_table template, regular expression search, and paging capability
Peter Funk
standalone server, blimp logo, and numerous improvements to ViewVC's interfaces and documentation
Lucas Bruand
C++ RCS parser (tparse) and vclib module for supporting new version control systems
C. Michael Pilato
Subversion support, root_as_url alternative URL scheme, templatization work, website design, documentation
Russell Yanofsky
Windows support and the sapi module for supporting multiple web server interfaces, sweeping abstraction and UI improvements
James Henstridge
integrated query interface, support for querying Subversion repositories, caching support, CSS formatting, and the EZT "define" directive

About This Site

The ViewVC website was designed by C. Michael Pilato. All HTML was hand-edited in Emacs, and the little splashes of graphical goodness owe their existence to Open Office and the Gimp. Textual content for the site is mostly the work of Greg Stein, but has been tweaked through the ages by various ViewVC contributors.