[cvsnt] BUG: different command prompts seem to have "cross-talk"

Jim Hyslop jimh at view22.com
Mon Oct 2 14:44:02 BST 2006


Tony Hoyle wrote:
> Jim Hyslop wrote:
> > In one command prompt, I issued the command 'cvs unedit 
> -u(username) 
> > -R'. While that was running, I opened another command 
> prompt and, from 
> > the same directory, issued the command 'cvs -nq up'. The 
> output from 
> > the two command prompts seems to have some "cross talk" (to 
> borrow an 
> > electronics term).
> 
> Yeah you really can't do two operations on the same sandbox 
> at the same time... no locking...

> edit is particularly bad as it uses temp files (CVS/Notify) 
> to store its data, so anything that sees that thinks there's 
> an aborted edit operation and tries to complete it, resulting 
> in a mess.  Rewriting edit to remove that file is one of 
> those things I've got on my priority list.

Or possibly just suppressing the helpful behaviour of other commands
would do it.

> Client side locking isn't something I've really thought about 
> as cvs has never had it and nobody has complained until today 

I don't think client-side locking would really be required, at least not
in this case. One of the operations was a "read-only" operation - a
query against CVS to see what's been modified locally ("cvs -nq up").
The other operation affects only the server. Nothing was being changed
on the client side.

I've been running through various scenarios in my head, and I can't come
up with any that would require client-side locking. At least, nothing
that any sane individual should try. You could, I suppose, perform two
different, possibly conflicting, merges simultaneously (e.g. in one
window "cvs up -jbranch1 -jbranch2" and in another "cvs up -jbranch2
-jbranch1"), but ISTM no sane individual would try that. Any other
scenario I can think of offhand would be sufficiently protected by
server-side locking. Unless you want to protect against, for example, a
user simultaneously updating and tagging.

-- 
Jim


More information about the cvsnt mailing list