[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Info-cvs] CVS loginfo bug
From: |
Peter Kennard |
Subject: |
Re: [Info-cvs] CVS loginfo bug |
Date: |
Wed, 20 Sep 2000 09:15:42 -0700 |
Nope I have tested this. I rebooted the server box. It fails when it tries
to write the lock and while it is "waiting" on the lock, the lock files do
not exist which indicates some sort of bug.
because the script stimulates the bug when run with "bash" and not when run
with "sh" it has all the symptoms of a memory environment or thread timing
bug.
The actual operation (commit) was successful after I used (control C) to
break out of the message wait loop. The bug also showed up when I
commented out the actual code in the script run with bash.
At 11:49 AM 9/20/00 -0400, you wrote:
>I can't imagine that a script that doesn't use CVS commands or create the
>lock files explicitly would cause this problem. Are you sure you're not
>running two invocations of CVS? Maybe something about your script hangs in
>BASH and you ran CVS again without killing the old process?
>
>Derek
>
>--
>Derek Price CVS Solutions Architect (
http://CVSHome.org )
>mailto:address@hidden OpenAvenue ( http://OpenAvenue.com )
>--
>I heard a lot of stories in my time. They went along with the sound of the
>tinny piano playing in the parlor downstairs.
>
> - Humphrey Bogart as Rick, _Casablanca_
>
>Peter Kennard wrote:
>
>> I have a little script I run from loginfo which looks like the below. I
>> gives me a "waiting for (current user)'s lock" error when I run CVS on the
>> server machine locally. It is OK on a remote client. If I use "sh" instead
>> of "bash" to run the script from loginfo it works fine. It gives me the
>> error with "bash". I am running an unpatched cvs-1.10.8 on RedHat Linux.
>> I just thought I would bring it to your attention.
>>
>> inside "loginfo"
>>
>> # mod script group files module
>> m1 bash ${CVSROOT}/CVSROOT/onloginfo.sh g1 %s m1
>> m2 bash ${CVSROOT}/CVSROOT/onloginfo.sh g2 %s m2
>> ...
>>
>> inside "onloginfo.sh"
>>
>> # the purpose of this is to make sure the "group" is set for each module
>> # so all the proper users can have access to it.
>>
>> group=$1
>> files=$2
>>
>> declare -i state=0
>> declare dir
>>
>> for name in ${files}
>> do
>> if [ ${state} = 0 ]; then
>> dir=${CVSROOT}/${name}
>> state=1
>> elif [ ${state}${name} = 1- ]; then
>> chown .${group} ${dir}
>> state=2
>> elif [ ${state} = 1 ]; then
>> chown .${group} ${dir}/${name},v
>> fi
>>
>> done
>>
>> _______________________________________________
>> Info-cvs mailing list
>> address@hidden
>> http://mail.gnu.org/mailman/listinfo/info-cvs
>