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 ]
If you have any comments, questions, suggestions, or patches, then please send them to the ViewCVS mailing list.
Kinda short :-)
AttributeError: urlencode
This is indicative of using an earlier version of Python.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
urllib.urlencode()
was introduced in
Python 1.5.2.
rcsdiff
or
rlog
outputsFuture features, coming soon:
Longer term:
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.