[Top][All Lists]

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

RE: Locking while tagging problem

From: Pyatt, Scott
Subject: RE: Locking while tagging problem
Date: Tue, 21 Aug 2001 13:10:03 -0700

>"Pyatt, Scott" <address@hidden> writes:
>> Until recently we've been using CVS 1.10 on our clients running Windows
>> 4.0 and CVS 1.10.5 on the server running Solaris 2.7.  At the end of each
>> build we apply a label tag.  There are roughly 22000 file in 2400
>> directories spread across 6 modules.  Tagging this many files generally
>> takes 3 hours.  With CVS 1.10.5 it appears to lock only the directories
>> are being written to at that moment, which has relatively little impact
>> the developers.
>> However, we recently upgraded the server to CVS 1.11.1p1 in order to pick
>> a much needed bug fix.  For now the clients are still running CVS 1.10.
>> when we tag, CVS 1.11.1p1 appears to place locks in every directory until
>> tagging has completed.  The locks in question have a name like
>> #cvs.wfl.cvs.1052.  Our Perl script tags with the following command:
>>     cvs -Q tag -F $tag
>James Youngman writes:
>My initial reaction on reading this was to suggest using a tmpfs for
>LockDir.  On reading Larry's response I no longer think this will
>help.  Might be worth trying though.
>On the other hand, if nobody outdates revisions, something like this
>might be workable (WARNING -- UNTESTED!)
># This assumes that, like cvs tag, we start in a working 
># directory.
>find . -name CVS -prune -o -type d -print | 
>  while read dirname 
>  do
>        (
>          cd "$dirname"  &&
>          if test -d CVS 
>          then
>              echo "Tagging in ${dirname}..."
>              cvs -Q tag -F "$tagname" && sleep 2 || exit $?
>          fi
>        ) || exit $?
>  done
>Don't do this if your directory names contain linefeeds, though.

Your approach is likely the direction we'll move.  The only downside I can
think of is that I'll have the overhead of spawning "cvs tag" 2400 times
(there are 2400 CVS directories) rather than once (not a big deal).


reply via email to

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