On Tue, Mar 26, 2002 at 02:42:57PM -0500, Dan Langille wrote: > On Tue, 26 Mar 2002 08:45:40 -0800, Rob Helmer <[EMAIL PROTECTED]> 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 > [EMAIL PROTECTED] > http://mail.gnu.org/mailman/listinfo/info-cvs > _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
