[Top][All Lists]

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

Re: Providing the functionality of CVS as a library

From: Rob Helmer
Subject: Re: Providing the functionality of CVS as a library
Date: Tue, 5 Nov 2002 13:19:50 -0800
User-agent: Mutt/1.2.5i

Ah, completely forget - someone that I contacted on this list
before sent me the beginnings of a library written in Perl for
the cvs client/server protocol.

I just took a look at it again yesterday, it is written well, there
is a library and a sample client, the library only implements
a couple commands so far, it's enough to do checkout/status/etc.

The client assumes that you are using pserver, I don't see
any reason you couldn't have a pipe to "cvs server" running
through SSH though. 

The client is simple, it doesn't maintain "CVS" metadata dirs
or anything, prints everything ( checkouts, etc ) to STDOUT.

It would be kind of neat to have a complete Perl CVS client 
just as a proof-of-concept on the library though, I'll
take a serious look at it once I get some of my other projects
a little further along :) 

I've been thinking of replacing SandWeb's Repository::cvs 
with a better version of this library, it poses some problems
with regard to supporting UNIX accounts in the way I'd like
to, but nothing unsurmountable.

Let me know if you'd like a copy, it's Artistic license/LGPL
( like Perl ). I haven't made any changes to it yet, just
looked at it.


On Sun, Nov 03, 2002 at 10:31:15PM -0800, Rob Helmer wrote:
> On Mon, Nov 04, 2002 at 12:08:01AM -0500, Alex Taler wrote:
> > >>>>> "Rob" == Rob Helmer <address@hidden> writes:
> >   Rob> We looked at VCS::Cvs for inclusion into SandWeb, and realized the 
> > same
> >   Rob> thing, so we wrote our own abstracted Perl CVS class (
> >   Rob> SandWeb::Repository::cvs ).
> > 
> >   Rob> If you want to check it out, I'd reccommend getting the CVS version -
> >   Rob>
> > 
> > Thanks, I took a look at it.  It doesn't look quite like what I
> > want.  I am thinking of an API in which the managed CVS files are
> > individual objects which you can manipulate.  Along the same
> > lines as in VCS::Cvs.  The benefit I see to this approach is
> > better handling of unusual cases.  How do you handle error and
> > unusual cases?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]