ViewVC: Repository Browsing

On this page:


ViewVC Users Group

The History of ViewVC

The ViewVC software was inspired by cvsweb (originally written by Bill Fenner and then further developed by Henner Zeller). 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, building atop the beginnings 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, SourceForge's lack of support for Subversion (which was already well past its 1.0 release, and becoming hugely popular) in its project version control offerings was annoying ViewCVS primary developers. 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 Subversion data to Tigris.org.

Today, ViewVC is being developed at http://viewvc.tigris.org by a small community of folks.

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 Adobe PhotoShop. Textual content for the site is mostly the work of Greg Stein, but has been tweaked through the ages by various ViewVC contributors.