info-cvs
[Top][All Lists]
Advanced

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

Re: Client CVS implementations ( was : Re: XML interface to cvs )


From: Oliver Fischer
Subject: Re: Client CVS implementations ( was : Re: XML interface to cvs )
Date: Thu, 28 Mar 2002 20:58:44 +0100

Hi Rob,
>
> Yes, a libCVS would be nice. A google search on "libcvs" turns
> up some interesting results, there might be a nice starting point
> somewhere.
>
> I am seriously considering implementing an abstracted version
> of the client/server protocol in Perl, I was sent a perl module that
> already does a few of the functions ( I sent a private email
> to James Richardson regarding an old post in the CVS archives,
> he sent me what he developed ).

There are some java implementations of the protocol. May it is possible to
migrate them to perl. I think if their design is clear and flexibel it
shouldn't be so complicated. But I would still prefer to sit on the top of a
real "libCVS". Looking at the CVS sources it is not implossible but a lot of
work.

I thought about implementing it in C or C++ as a abstraction layer on to of
CVS. Since I need it soon, I have started to implement a perl modul. I will
release it in some days, when I have written some function tests.

> The client implementation currently doesn't deal with meta-data
> directories, but once that is in and the client/server implementation
> is complete in the module I *think* it should be perfect for the
> project I am working on ( since SandWeb is a CGI, I'd rather have
> it live completely in Perl than to make calls to external programs.
> There are *alot* of pros/cons to this approach, the #1 thing I
> don't like is not reusing available Unix programs like SSH and
> CVS. I do think that it makes a more consistent, multi-platform
> choice to go pure OO Perl though, and any modules we come up
> with can be reused easily on CPAN ).


The ideal architecture would be.

-----------------------------------------
|              | python | perl | etc.   |
|              -------------------------
| command line | client C  | client C++ |
| tools        | API       | API        |
-----------------------------------------
| basic (classic) C API                 |
-----------------------------------------

Bye

Oliver





reply via email to

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