info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: rtag and its locking behavior


From: Pyatt, Scott
Subject: RE: rtag and its locking behavior
Date: Tue, 30 Oct 2001 16:07:14 -0800

Dean Do wrote:
> Is there a way for me to change this rtag behavior where
> it only locks one directory at a time as it tags the files
> in that directory? 

This is new behavior as of 1.11.1p1.  Here is a post from Larry Jones 
from a couple months back that describes the reason for this behavior.

> It's an important bug fix, implemented sub-optimally.  The directory-at-
> a-time locking was seriously flawed in that CVS actually read the RCS
> files and cached some of their contents *before* locking the directory. 
> That means that it was possible for a commit to happen between the time
> that tag first read the file and the time it locked the directory; when
> the file was rewritten to apply the tag, the commit would be lost. 
> 
> Because of the way CVS is architected, the only easy way to solve the
> problem was to lock the whole directory tree up-front, like commit does.
> Fixing the directory-at-a-time locking would be a better fix, but it
> would also require a *lot* of effort.
> 
> -Larry Jones

Your repository is locked for 20 minutes, while ours was being locked
for 3 hours (ouch!).  I suggest you use some method of walking your 
source tree and tagging one directory at a time (see the -l option).
We've done this with a small Perl script run in a workspace.  Therefore,
we always use the "tag -l" command now rather than "rtag".

Good luck.
-Scott


-----Original Message-----
From: Dean Do [mailto:address@hidden
Sent: Tuesday, October 30, 2001 3:31 PM
To: address@hidden
Subject: rtag and its locking behavior


Hello,

I have a question concerning the rtag command and its
locking behavior.  Whenever I run `cvs rtag` command,
it read/write locks the whole tree [all directories]
from everyone until it is done tagging every file.
Since our sw tree is quite big, this rtag process takes
~20min to complete.

Is there a way for me to change this rtag behavior where
it only locks one directory at a time as it tags the files
in that directory?  Once it is done tagging the files in
a directory, it should release the lock in that directory
and moves to the next one.  I can't find anything in the
CVS manual on this subject.

I'm currently running CVS 1.11.1p1 on Solaris8.  I would
appreciate any assistance in this.

Thanks,
Dean

_______________________________________________
Info-cvs mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/info-cvs



reply via email to

[Prev in Thread] Current Thread [Next in Thread]