[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Client CVS implementations ( was : Re: XML interface to cvs )
From: |
Rob Helmer |
Subject: |
Client CVS implementations ( was : Re: XML interface to cvs ) |
Date: |
Tue, 26 Mar 2002 13:03:52 -0800 |
User-agent: |
Mutt/1.2.5i |
On Tue, Mar 26, 2002 at 02:42:57PM -0500, Dan Langille wrote:
> On Tue, 26 Mar 2002 08:45:40 -0800, Rob Helmer <address@hidden> wrote:
>
> > Hi Dan,
> >
> > What kind of interface are you looking for?
>
> A programmatic one. At present, I use cvsweb (e.g.
> http://www.freebsd.org/cgi/cvsweb.cgi/) to extract what is needed via http.
Hmm, interesting. It doesn't seem that there are very many client
implementations for CVS besides the command-line one, which obviously
doesn't take XML as input or output in XML ( I assume this is what you
want? ).
You could write a translator ( e.g., wrapper ) for the CVS binary
I suppose, also there is jCVS ( http://www.jcvs.org ), they have
implemented the client protocol in Java ( as a library, I believe ).
I'm going to ask a couple general questions to the list too, if you
don't mind :
Speaking of which, I have been thinking about looking at writing
a client implementation of CVS in OO Perl for SandWeb ( http://sandweb.sf.net ).
Does anyone know of any implementations of the CVS client part of
the client/server protocol in Perl, Python, C ( besides the CVS binary :)
Ruby, etc. ? Java is nice, but since the core application is not
running in a VM and it's mostly stateless between executions, I
don't see an advantage to using the Java implementation.
AFAIK, the "official" CVS doesn't have the various functions split
into a library, it's all implemented in the binary, right? ( I've browsed
the source, I obviously haven't read it since I'm asking this ).
( if anyone is curious, it's a PITA to call the CVS binary from a
CGI, and the security implications are a nightmare. SSH won't
run without a real TTY, for instance. A CVS implementation inside
the CGI would be preferable, and I'd be willing to start with
someone else's work if there's anything out there ).
All the implementations I've seen ( including SandWeb's ) just call
the CVS binary.
>
> Basically, I'd like to be able to traverse the tree using XML.. Here is
> some background information which might be useful. The following
> information is slanted towards the FreeBSD operating system and its
> community, but the underlying design is OS independent.
>
> http://www.FreshPorts.org/ [1] has been running for about 2 years. During
> that period I've been working [no, not full time] on the next generation
> of FP (and I've been calling that FP2). To the end user, the differences
> between FP1 and FP2 is minimal. There are some new features [2] and minor
> face lifts, but for the most part, it's same-old-same-old.
>
> The basic change has been the underlying database structure. It's now
> PostgreSQL and was mySQL. The main reason for the change was stored
> procedures and triggers [3] which allowed for a recursive design. This
> new structure will allow me to do for the whole source tree what FP does
> for the ports tree. This new project is called FreshSource [4]. With FS,
> you can place any file or directory on your watch list; in FP, you can
> only put a port on your watch list [which makes sense; it's only for the
> Ports tree].
>
> FreshPorts was designed for the FreeBSD ports tree, but the goal is to
> allow other port trees to use it as well. With FP2, we have moved to XML
> as the primary input. Each cvs-all message is converted to XML and then
> processed by FP2. This will greatly simplify the inclusion of other port
> trees.
>
> The FP2 database was populated by migrating data from FP1. However, the
> ideal population method would be directly from CVS, hence the query about
> an XML interface to CVS. It would also allow FP2 to query any CVS
> repository and populate itself. This feature would probably have a bigger
> effect on FreshSource than FreshPorts, but the capability would useful for
> both.
>
> [1] - The basic purpose of FP is a FreshMeat website but for the FreeBSD
> Ports tree.for ports. As port tree changes come out, FP captures the
> information via the cvs-all mailing list. and stores the details in a
> database. A registered user can create a watch list containing the ports
> they care about.
>
> [2] - the biggest new feature is the ability to upload your pkg_info
> output and add that to your watch list.
>
> [3] - some will point out that mySQL has this now. Sorry, it didn't when
> I started FP2.
>
> [4] - http://www.FreshSource.org/
>
> > You can generate CVS changelogs in XML format with this tool :
> > http://www.red-bean.com/cvs2cl/
>
> Thanks. I didn't know about that.
> _______________________________________________
> Info-cvs mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/info-cvs
>
- XML interface to cvs, Dan Langille, 2002/03/25
- Message not available
- Re: Client CVS implementations ( was : Re: XML interface to cvs ), Dan Langille, 2002/03/26
- Re: Client CVS implementations ( was : Re: XML interface to cvs ), Larry Jones, 2002/03/26
- Re: XML interface to cvs, Greg A. Woods, 2002/03/26
- Message not available
- Re: XML interface to cvs, Dan Langille, 2002/03/26
- Re: XML interface to cvs, James Knowles, 2002/03/26
- Re: XML interface to cvs, Dan Langille, 2002/03/26
- Re: XML interface to cvs, James Knowles, 2002/03/27