The script below demonstrates this bug.  When you run this script with
an argument of "branch", then it will checkout onto a branch.  Then a
remove is committed in a separate working directory.  Then the first
directory updates and it correctly removes the file, but it does not
also remove the directory.  However, when the script is run with the
argument of "no_branch", it does not use a branch and then it
correctly removes the directory.  In both cases the update command
uses the -P option.

#!/bin/csh -ef

set path = ( ~/cvs-1.11/src $path )
cvs -version
setenv CVSROOT /tmp/cvs_test/repository
rm -fr /tmp/cvs_test
mkdir /tmp/cvs_test
cd /tmp/cvs_test
cvs init
mkdir moduletest
cd moduletest
mkdir d
touch d/a
cvs import -m "test log" moduletest vendortest start_release_tag
cd ..
\rm -fr moduletest

# checkout directory 1
if ($1 == "branch") then
    echo checking out with a branch
    cvs rtag -b tag moduletest
    cvs checkout -d 1 -r tag moduletest
else if ($1 == "no_branch") then
    echo checking out with no branch
    cvs checkout -d 1        moduletest
else
    echo "Usage: $0 branch\n       $0 no_branch"
    exit 1
endif

# remove and commit in directory 2
cvs checkout -d 2 moduletest
cd 2
cvs rm -f d/a
cvs commit -mno_log
cd ..

# update directory 1
cd 1
echo find:
find . | grep -v CVS
if ($1 == "branch") then
    cvs update -P -j tag -j HEAD
else
    cvs update -P
endif
echo find:
find . | grep -v CVS
echo before ls -a d
ls -a d


_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs

Reply via email to