[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian-python: cvs module & cvs libraries.



On Wed, Jan 24, 2001 at 06:22:51PM +1100, Brendan J Simon wrote:
> I am writing a cross-platform cvs gui client using wxPython (a python 
> module to the wxWindows cross platform GUI framework).  I would like to 
> use a cvs python module to implement the core cvs functionality but I 
> can't find one (is there any out there ???).

Bizarre ;-)  I've written and maintain a CVS gui client written using
wxWindows (TortoiseCVS, it is a Windows Explorer plugin).  I think I 
might have seen you on the wxWindows mailing list.
 
> I am willing to write such a module (need to learn how) but I would like 
> to base this on a cvs library.  I was hoping debian's cvs was split into 
> the cvs command line client and a cvs shared library (libcvs.so) but 
> this is not the case.  I think there is a case for having a cvs shared 
> (and static) library so that other cvs clients can use the common 
> functionality.  How would I go about requesting such a thing for Debian 
> ??  I know that WinCvs (MSW), gCvs (gtk) and macCvs (Macintosh), all 
> written by the same author, uses some kind of cvs library but it is 
> statically linked into each application.

Yes!  A libcvs would be excellent.  There are increasingly many GUI CVS
clients, and it would make a lot of sense for them to share a library.

I guess people integrate Python with CVS at the moment by launching the
command line client with a pipe.

WinCVS et al don't really use a clean library.  They have custom code to
parse CVS/Entries to decide how to render local files, and they have a DLL
which is just the CVS command line client compiled with a special
interface.

A libcvs would need to:
	- Have functions to extract all information from the local file system
	  about CVS without going to the server. e.g. Is this file modified?
	  Can you find all files recursively
	- Allow access to the server in various ways.  Ideally it would call
	  the server and parse the requests into useful programmatic data
	  structures.  e.g. "cvs status" would return structs for each file of
	  the status.
I'd be very impressed to see a libcvs which moved away from the command
line client which overwhelms the existing GUI interfaces.  I think that
would be a hard and large project though.

It might be better just to expose the command line client in libcvs, with
some of the local filesystem scanning, and the parsing described above.

Anyway, this is getting off topic for Python... You can email me if
you like, or perhaps cvsgui-dev@egroups.com, or a CVS mailing list.

Francis

-- 
Home: francis@flourish.org  Web: www.flourish.org



Reply to: