ViewCVS: Viewing CVS Repositories

The ViewCVS software was inspired by cvsweb (by Henner Zeller). I wanted to make some changes and updates, but cvsweb was implemented in Perl (and rather poorly, IMO). So I undertook the task to convert the software to Python.

ViewCVS can browse directories, change logs, and specific revisions of files. It can display diffs between versions and show selections of files based on tags or branches.

ViewCVS is currently at version 0.3. It is almost a straight port of the cvsweb script, but has had numerous cleanups and other modifications, based on some of Python's strengths. There is still some "badness" in there, but I've been working on flushing that out, along with a few new features. The functionality of ViewCVS is equal to that of cvsweb, minus the "annotation" support. Annotation requires read/write access to the CVS repository (at this time), and I believe that is a Bad Thing to do. One of my tasks will be eliminating the read/write requirement.

The software is available for download:

Version 0.3 of ViewCVS

Of course, it is also available through ViewCVS itself:

http://www.lyra.org/cgi-bin/viewcvs.cgi/gjspy/viewcvs/

ViewCVS requires Python 1.5.2.

[ up to Python software ] [ up to Greg's page ]


Mailing List

If you have any comments, questions, suggestions, or patches, then please send them to the ViewCVS mailing list.


FAQ

Kinda short :-)

I got an AttributeError: urlencode
If you see the following traceback in your browser:
Traceback (innermost last):
  File "/home/httpd/cgi-bin/viewcvs.cgi", line 2205, in ?
    main()
  File "/home/httpd/cgi-bin/viewcvs.cgi", line 2123, in main
    query_string = sticky_query(query_dict)
  File "/home/httpd/cgi-bin/viewcvs.cgi", line 444, in sticky_query
    bare_query = urllib.urlencode(sticky_dict)
AttributeError: urlencode
This is indicative of using an earlier version of Python. urllib.urlencode() was introduced in Python 1.5.2.

Additional features over cvsweb

Future features, coming soon:

Longer term:


Colorization of Python files

Christophe Pelte suggested this feature: colorize Python source files using py2html (by Marc-Andrew Lemburg, based on PyFontify by Just van Rossum). I've added this feature to ViewCVS 0.3, along with a generalized plugin mechanism for custom coloring other types of files. See the instructions within the viewcvs.cgi for setting the py2html_path configuration variable if you want to use this feature.


Greg Stein
Last modified: Fri Feb 11 07:51:53 PST 2000