CVS 1.11.2 lock behavior

2002-06-14 Thread Dan Peterson

Has the locking behavior changed between 1.11 and 1.11.2?

Specifically, we've noticed locks for an entire tree seem to hang around
until the entire tree has been modified.  The 1.11 behavior seemed like it
would only lock a specific directory at a time.

In other words, the observed behavior for 1.11 when doing some write
operation (like a tag or rtag) on an entire tree was:

  cvs tag FOOBAR /foo/bar

  for each directory under /foo/bar
lock directory
perform tag operation
unlock directory
  done

and for 1.11.2 is SEEMS like it's doing something more like this:

  cvs tag FOOBAR /foo/bar

  for each directory under /foo/bar
lock directory
  done

  for each directory under /foo/bar
perform tag operation
  done

  for each directory under /foo/bar
unlock directory
  done

The big problem with this is that for large source trees (2000+
directories) it can take a long time to do the operation and during that
time, the entire tree is essentially locked.


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS 1.11.2 lock behavior

2002-06-14 Thread Larry Jones

Dan Peterson writes:
 
 Has the locking behavior changed between 1.11 and 1.11.2?

Yes, it changed (in 1.11.1) just for tag/rtag.

 Specifically, we've noticed locks for an entire tree seem to hang around
 until the entire tree has been modified.  The 1.11 behavior seemed like it
 would only lock a specific directory at a time.

Correct.

 The big problem with this is that for large source trees (2000+
 directories) it can take a long time to do the operation and during that
 time, the entire tree is essentially locked.

The big problem with the way it was doing it is that it fetched data
from the directory before it locked it and assumed it was still good
aferwards, meaning that an intervening commit could get wiped out. 
Locking the whole tree was a quick fix, not an optimal one.  It should
be possible to do directory-at-a-time locking correctly, but it's a bit
of work and no one has had the time or inclination to do it yet.

-Larry Jones

I don't think that question was very hypothetical at all. -- Calvin

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs