On Wednesday, March 29, Donald Sharp wrote:
> there is no api. Cvs client server works via STDIN/STDOUT redirection.
> This is why you need to have cvs run by inetd. Inetd provides the
> hookup of the pipes between STDIN/STDOUT and the sockets....
Ok, there are at least 1 wrong statement in here. There is no "api", but
there is a client-server protocol. It is documented within the distribution.
Not the best, but it is there. You may be able to "snarf" parts of the
code to do that api from within the CVS code.
Also, you don't NEED to run the CVS server via inetd. There are other
ways of invoking the server such that STDIN/STDOUT are connected to the
client in the right way.
> Figure out what you want to do and fork/exec the apropriate cvs command.
This is usually easier, althout other CVS look/work-alikes have been
implemented using just the client-server protocol. Have a look at
jCVS and the like.
--Toby.