I came across the following problem today. If a versioned symlink is
dangling, and you do a merge which tries to add that symlink again, it
fails with an error (message shown is from svn 1.1.4, although the
message is the same with a different line number for other versions):
subversion/libsvn_subr/io.c:1946: (apr_err=2)
svn: Can't open file 'link': No such file or directory
It fails with the same error even with an svn merge --dry-run.
The reproduction recipe is simple (below and in the attached script):
% REPOS=$PWD/svn.$$
% REPOS_URL=file://$REPOS
% svnadmin create $REPOS
% mkdir import
% cd import
% mkdir branches trunk
% svn import -m 'initial import' . $REPOS_URL
Adding trunk
Adding branches
Committed revision 1.
% cd ..
% svn co $REPOS_URL/trunk
Checked out revision 1.
% cd trunk
% ln -s dangling link
% svn add link
A link
% svn commit -m 'added dangling link'
Adding link
Transmitting file data .
Committed revision 2.
% cd ..
% $SVN co $REPOS_URL/branches
Checked out revision 2.
% cd branches
% ln -s dangling link
% svn add link
A link
% svn commit -m 'added dangling link'
Adding link
Transmitting file data .
Committed revision 3.
% svn merge --dry-run -r1:2 ../trunk
subversion/libsvn_subr/io.c:1946: (apr_err=2)
svn: Can't open file 'link': No such file or directory
I have reproduced this with the head of the 1.2.x branch as well as trunk.
Here is my environment:
OS: Fedora Core 3
SVN Version:
% svn --version
svn, version 1.1.4 (r13838)
compiled Apr 5 2005, 15:49:54
Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' schema
- handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
- handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' schema
Compiler:
$ gcc --version
gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Perl:
$ perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
Copyright 1987-2004, Larry Wall
Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
Berkeley DB Version: 4.2.52
OpenSSL Version:
$ rpm -q openssl
openssl-0.9.7a-40
Please let me know if you need any more information.
Thanks,
Brian
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jun 7 21:15:15 2005