[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
NT
>> 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
that
>> are being written to at that moment, which has relatively little impact
on
>> the developers.
>>
>> However, we recently upgraded the server to CVS 1.11.1p1 in order to pick
up
>> a much needed bug fix. For now the clients are still running CVS 1.10.
Now
>> 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).
Thanks,
-Scott