You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Lee Merrill <Le...@bustech.com> on 2004/09/10 15:27:15 UTC

externals bug?

Hi everyone,

    I changed the externals property on a directory to be revision 4, 
commited the change, then in another local copy, did an "svn update" (in 
the main directory, not in the externals directory). I got an error 
message, "Working copy 'externals_dir/externals_subdir' not locked," and 
half my files in the externals directory disappeared. Doing an "svn 
update" in the externals directory brings them back, doing a checkout in 
a fresh directory brings them in, but this was a little disconcerting.

Lee

-- 
+=========================================================
+ Lee Merrill    lee@bustech.com    919-866-2008
+=========================================================

Unless otherwise stated, any views presented in this email are solely those of the author and do not necessarily represent those of the company.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: externals bug?

Posted by Lee Merrill <Le...@bustech.com>.
Hi everyone,

    Here is a script that causes this problem, this only fails in 
Subversion 1.0.6, version 1.1.0 RC2 is fine. The version that fails is 
on Fedora core 1, with Berkeley DB 4.1.25-14, the version that works is 
on RedHat 7.3, with Berkeley DB 4.2.52.NC. So this may already be fixed...

Thanks,
Lee

>>    I changed the externals property on a directory to be revision 4,
>>commited the change, then in another local copy, did an "svn update"
>>(in the main directory, not in the externals directory). I got an
>>error message, "Working copy 'externals_dir/externals_subdir' not
>>locked," and half my files in the externals directory
>>disappeared. Doing an "svn update" in the externals directory brings
>>them back, doing a checkout in a fresh directory brings them in, but
>>this was a little disconcerting.
>>    
>>
>
>Can you give us a concrete reproduction recipe...
>  
>
Ye scripte:

#!/bin/sh
                                                                                          

function errFn()
{
    echo $1
    exit 1
}
                                                                                          

DIR=$PWD
mkdir $DIR/tmp || errFn "Cannot create directory $DIR/tmp"
cd $DIR/tmp
                                                                                          

set -x
                                                                                          

mkdir -p project1 src1/subdir
for i in 1 2 3 4 5
do
    echo "a$i" > src1/a$i
done
for i in 1 2 3 4 5
do
    echo "b$i" > src1/subdir/b$i
done
svnadmin create $DIR/tmp/project1
export PROJ1=file://$DIR/tmp/project1
cd src1
svn import $PROJ1 -m "Initial revision."
                                                                                          

mkdir -p project2 src2/incdir/sub1 src2/incdir/sub2
for i in 1 2 3 4 5
do
echo "c$i" > src2/incdir/c$i
echo "d$i" > src2/incdir/sub1/d$i
echo "e$i" > src2/incdir/sub2/e$i
done
svnadmin create $DIR/tmp/project2
export PROJ2=file://$DIR/tmp/project2
cd src2
svn import $PROJ2 -m "Initial revision."
                                                                                          

cd $DIR/tmp
mkdir edit1
cd edit1
svn checkout $PROJ1
cd project1
svn propedit --non-interactive svn:externals .
# Make externals have a value of "-r1 $PROJ2/incdir
#   (e.g. "incdir -r1 file:///home/lee/tmp/project2/incdir")
svn commit -m "Linked in incdir in project 2"
                                                                                          

cd $DIR/tmp
mkdir edit2
cd edit2
svn checkout $PROJ2
cd project2/incdir
echo "c1.2" >c1
svn commit -m "Changed incdir/c1 to c1.2"
                                                                                          

cd $DIR/tmp
mkdir edit3
cd edit3
svn checkout $PROJ1
                                                                                          

cd $DIR/tmp
mkdir edit4
cd edit4
svn checkout $PROJ1
                                                                                          

cd $DIR/tmp/edit3/project1
svn propedit --non-interactive svn:externals .
# Make externals have a value of "-r2 $PROJ2/incdir
svn commit -m "Updated externals to release 2"
                                                                                          

cd $DIR/tmp/edit4/project1
svn update
                                                                                          

# Now files (c1 to c5) are missing in $DIR/tmp/edit4/project1/incdir
#   cd $DIR/tmp/edit4/project1/incdir; svn update
# will bring them back.

-- 
+=========================================================
+ Lee Merrill    lee@bustech.com    919-866-2008
+=========================================================

Unless otherwise stated, any views presented in this email are solely those of the author and do not necessarily represent those of the company.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: externals bug?

Posted by kf...@collab.net.
Lee Merrill <Le...@bustech.com> writes:
>     I changed the externals property on a directory to be revision 4,
> commited the change, then in another local copy, did an "svn update"
> (in the main directory, not in the externals directory). I got an
> error message, "Working copy 'externals_dir/externals_subdir' not
> locked," and half my files in the externals directory
> disappeared. Doing an "svn update" in the externals directory brings
> them back, doing a checkout in a fresh directory brings them in, but
> this was a little disconcerting.

Can you give us a concrete reproduction recipe, as described in

   http://svn.collab.net/repos/svn/trunk/BUGS

?

Thanks,
-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org