[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svn merge with symlinks and executables

From: Brian Buesker <bbuesker_at_qualcomm.com>
Date: 2004-10-14 23:51:39 CEST

I'm having the following problem. In a branch I added a directory
containing a shared library and two links to it. I committed that, and
then switched to the trunk. I then tried to merge from my branch into my
working copy so that I can get those changes in the trunk as well. The
merge completes fine, but when I look at my working copy, the symlinks
do not exist. Rather, they are files just containing the text "link" and
then the name of the file the symlink is to. The .so also does not have
the execute bit set.

If I take a look at the properties of the files with svn proplist, the
one that should be a symlink shows "svn:special" and has a value of "*".
The .so shows "svn:executable" and "svn:mime-type" with values of "*"
and "application/octet-stream" respectively. For some reason the proper
handling of symlinks and executable files is not occurring during merges
(although it does work fine when checking out).

If after the merge I try to do a commit, I get an error like the following:

subversion/libsvn_client/commit.c:765: (apr_err=145001)
svn: Commit failed (details follow):
subversion/libsvn_client/commit_util.c:235: (apr_err=145001)
svn: Entry '/var/tmp/mergetest/lib/libmylib.so.2' has unexpectedly
changed special status

The easiest way to reproduce this problem is to do the following:

1. Add a directory that contains a library and a symlink to that library
into a branch.
2. Switch to the trunk
3. Merge from the branch
4. Look at the files merged. The symlink will just be a regular file
rather than a link. The library doesn't have the execute bit set.

Does anybody know why the properties aren't being handled correctly for
merges? Thanks for any help.

Brian

Environment:

OS: CentOS 3.1 (equivalent to RHEL 3 Update 2)

SVN Version:
$ svn --version
svn, version 1.1.0 (Release Candidate 3)
 compiled Sep 27 2004, 09:12:49

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.2.3 20030502 (Red Hat Linux 3.2.3-34)
Copyright (C) 2002 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.

Berkeley DB Version: 4.2.52

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Oct 14 23:52:11 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.