CVS access with Python

A.T.Hofkamp hat at
Fri Feb 8 09:00:44 CET 2008

On 2008-02-07, Steve Holden <steve at> wrote:
> Ravi Kumar wrote:
>> I have to design a Web-based CVS client. I could not find any module, 
>> cvs-binding in python.

There isn't any afaik. CVS was never designed with scripting in mind. You'll
have to issue the command, then parse the textual ouput.

Some time ago, a new CVS clone was started with the BSD OSes. You may want to
check that out.

>> an archive (tar.gz/zip) and put that for downloading by the user. Since 
>> there is many-to-many relation between projects and developers, it will 
>> consume a lot of disk space on Web-server, creating 'n' copies of a 
>> single project for 'n' users, and assume all developers are checking out 
>> all sources. God knows.

Euh, why?

You have a CVS repository sitting around the corner, just check out what you
need when you need it (and throw it away afterwards, it is reproducible). If
you need to keep special versions for each dev (in each project maybe), set up
a tagging system, and commit the new versions tagged to the repository.

>> So is there any good implementation for such situation.

Yes, it is called Subversion (SVN,, which does
all that CVS does (in a much much nicer way), and more, including networking
over the HTTP protocol (securely, if you want).

It works out of the box, is used with thousands of projects, and will save you
and others hundreds of hours time.
Also, there are several graphical clients for it (both Windows and Linux, and
quite likely Mac), and there is a cvs2svn tool.

> Suppose a user has her own CVS client repository on the web, how is she 
> supposed to edit and compile the files? Or is this not a programming 
> application?

Ravi Kumar: Another problem, how are you going to deal with merge conflicts? I
  don't see a useful way of resolving those through a web interface.

  Maybe a webinterface is not the answer to your problem?


More information about the Python-list mailing list