[cvsnt] CVS Server Side Reporting Tools?

Arthur Barrett arthur.barrett at march-hare.com
Sun Nov 16 19:58:08 GMT 2008


Bo,

> >> - a CVSNT API through which one could call the 
> >> database write functions to create the entries 
> >> CVSNT Audit normally does for CVS
> >> operations.
> >
> >Yes the CVSAPI already provides this, this is what I was 
> originally suggesting.
> >
> >Or you could do as Tony suggested and call the audit trigger 
> (which is a clean C API), the only trick there is getting the 
> sequence right and the parameters right since it's designed 
> to be called from CVSNT server during the commit/tag/whatever 
> operation.  
> >
> I'm back at this again and I would like to know where I can get hold
> of the CVSAPI documentation?

I think Tony did start some docs, but I can't remember where... The best
way to work out how to call the CVSAPI is to look at some program that
already uses it. Eg: triggers/audit_trigger.cpp already calls all the
database functions.  I'm not sure if the CVSAPI will be very easy to
call from Pascal/Delphi since it uses pointers and structures quite
heavily, and that is why I suggested you may want to call the audit.dll
itself.

 
> I tried using DependencyWalker on the cvsapi.dll file to see the entry
> points, but they are such that I cannot decode how to use them....

Give me a clear idea of what you want to do (though I suppose I could
guess...) and I'll try and write something basic up in an e-mail.


> What I think will be sufficient for the task at hand (filing the audit
> database with old non-audited data) is access to the ls, log and
> status calls to get the file structure out and then the data for each
> file without using brute force by reading on filesystem level.

I assume you mean to read the RCS data?  No - we have no API for that in
CVSNT (though we do in EVS).

The 'original' CVS did this by calling RCS - and you could do the same
with CVSNT - call the CVSNT RCS wrappers to get the info, or you could
just parse the output of the cvs commands (this is how we are handling
migrate from CVSNT to EVS).

Regards,



Arthur




More information about the cvsnt mailing list