[Cvsnt] CVSNT error handling and Eclipse/WSAD branch browsing

Tony Hoyle tmh at nothing-on.tv
Tue May 21 21:50:34 BST 2002


On Tue, 21 May 2002 20:24:17 +0100, Schmidt, Martin wrote:

> CVSNT will also send this reply, but ONLY on the very first execution of
> cvs.exe, successive tries will fail to return any error.  Replacing the
> cvs.exe with a copy or a new build seems to unlink you from whatever
> external data is influencing this.  I never found what precisely was
> causing this in the 57b source, but I "fixed" it by putting a sleep(1)
> at the beginning of server_cleanup() in server.c.

That's the file locking/stream handling in NT, which seems a bit odd - a
sleep may fix it about half the time but probably not a real fix.  I need
to remove the thread (done in the development version, but not really
well tested as I decided I needed to have a go at the RCS layer).


> After receiving the above error response from the CVS server, Eclipse
> further waits for the response:
>
> error
>
> This is the seemingly redundant piece of output written from
> do_cvs_command if resulting errs > 0 from command execution.  	/* We
> will have printed an error message already.  */
> 	buf_output0 (buf_to_net, "error  \n");
> It doesn't seem that this code is reachable for an abort severity error
> in the 57b source.

An error causes the application to abort.  It shouldn't be reachable from
Unix either...  If the error has been printed correctly then everything's
working OK.

> Eclipse needs this response, however, before it will retry with the more
> general request:

That's undocumented behaviour - It's not something cvsnt needs to fix,
because it isn't a cvsnt bug.  Printing a redundant 'error' at the end of
the error is as likely to break other clients as fix anything.

I can only really 'support' WinCVS and TortoiseCVS, because they are
all I have access to, and the I get feedback from their development
teams (they also both call cvs.exe, which makes things a lot simpler).
I sounds like eclipse isn't designed to work with anything other
than Unix cvs, which is fine, but it limits what I can to do
to make it work - adding a sleep is OK, but changing the protocol isn't
(especially on a release cycle - the devel will probably get a rewrite
of the protocol layer anyway at some point).

Tony


_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt




More information about the cvsnt mailing list