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.2. 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 my work to start adding 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.2 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.
If you have any comments, questions, or suggestions, then please email me at gstein@lyra.org.
[ up to Python software ] [ up to Greg's page ]
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.