Re: Checkout problem with symlinks and locks

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Checkout problem with symlinks and locks

Jani Averbach
On 2005-05-25 13:30+0200, Daniel Jedecke wrote:

> Hello again.
>
> i have the following file structure
>
> /trunk/cgi-bin/
> ...
> lrwxrwxrwx  1 dj users   12 May 25 12:43 /trunk/cgi-bin/index-demo-
> en.pl -> index-src.pl
> -r-xr-xr-x  1 dj users 1544 May 25 12:43 /trunk/cgi-bin/index.pl
> -r-xr-xr-x  1 dj users 1431 May 25 12:43 /trunk/cgi-bin/index-src.pl
> ....
>
> all files have set "svn:needs-lock"
>
> If i checkout this repository to a new user, i got en error
>
> svn: In directory '/trunk/cgi-bin'
> svn: Can't change read-write perms of file '/trunk/cgi-bin/index-demo-
> en.pl': No such file or directory
> ...

> it seems that subversion want to change the permission on the  
> symlinks, but the source file was not loaded yet, so the checkout abort.
...
> Can anybody confirm that?

I can confirm this, time to time. I managed to get twice svn to checkout
the symlink first and then there will be this error, but I can't reliably
reproduce this.  Thanks again for report.

I used following recipe:

#!/bin/sh

rm -rf wc repo wc2

svnadmin create $(pwd)/repo
svn co file://$(pwd)/repo wc
cd wc
touch file.x
ln -s file.x asymlink.x
svn add asymlink.x
svn ps svn:needs-lock '' asymlink.x
svn ci -m ''
svn add file.x
svn ps svn:needs-lock '' file.x
svn ci -m ''
cd ..
svn co file://$(pwd)/repo wc2


BR, Jani

--
Jani Averbach

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Checkout problem with symlinks and locks

Brian W. Fitzpatrick-2

On May 25, 2005, at 10:41 AM, Jani Averbach wrote:

> On 2005-05-25 13:30+0200, Daniel Jedecke wrote:
>
>> Hello again.
>>
>> i have the following file structure
>>
>> /trunk/cgi-bin/
>> ...
>> lrwxrwxrwx  1 dj users   12 May 25 12:43 /trunk/cgi-bin/index-demo-
>> en.pl -> index-src.pl
>> -r-xr-xr-x  1 dj users 1544 May 25 12:43 /trunk/cgi-bin/index.pl
>> -r-xr-xr-x  1 dj users 1431 May 25 12:43 /trunk/cgi-bin/index-src.pl
>> ....
>>
>> all files have set "svn:needs-lock"
>>
>> If i checkout this repository to a new user, i got en error
>>
>> svn: In directory '/trunk/cgi-bin'
>> svn: Can't change read-write perms of file '/trunk/cgi-bin/index-
>> demo-
>> en.pl': No such file or directory
>> ...
>>
>
>
>> it seems that subversion want to change the permission on the
>> symlinks, but the source file was not loaded yet, so the checkout  
>> abort.
>>
> ...
>
>> Can anybody confirm that?
>>
>
> I can confirm this, time to time. I managed to get twice svn to  
> checkout
> the symlink first and then there will be this error, but I can't  
> reliably
> reproduce this.  Thanks again for report.
>
> I used following recipe:
>
> #!/bin/sh
>
> rm -rf wc repo wc2
>
> svnadmin create $(pwd)/repo
> svn co file://$(pwd)/repo wc
> cd wc
> touch file.x
> ln -s file.x asymlink.x
> svn add asymlink.x
> svn ps svn:needs-lock '' asymlink.x
> svn ci -m ''
> svn add file.x
> svn ps svn:needs-lock '' file.x
> svn ci -m ''
> cd ..
> svn co file://$(pwd)/repo wc2

I'm unable to reproduce this (Debian Linux or Mac OS X 10.4), but I  
would say that we shouldn't be trying to tweak perms on a symbolic  
link.  I suspect you'd encounter the same problem if you set  
svn:executable on a symbolic link.

I think the real solution here is to either make permissions changes  
a no-op on symbolic links or forbid those permissions on symbolic  
links altogether.  I have no strong opinion one way or another.  
Thoughts?

-Fitz

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]