File external into directory external's directory broken in 1.7
I have one repository with two projects. Project A externals in a couple directories from Project B (a library). But the tag I need to pull in from Project B did not have a Windows build, only a target (Linux derivative) build, so I have a third external defined to pull in a Windows build of the Project B library to the place it would go if it were there in the first place. This worked in version 1.6, but now gives an error in 1.7 and does not pull in the file. Specifically, I did the following from the directory in Project A which contains most of our svn:externals definitions (here CommonElements is Project B): *** BEGIN * scarecrow_SunOS_btfritz> svn --version svn, version 1.7.5 (r1336830) compiled Jun 14 2012, 11:00:46 Copyright (C) 2012 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme scarecrow_SunOS_btfritz> svn propget svn:externals . | grep CommonElements # CommonElements ^/Fusion/Shared/CommonElements/tags/815-6133-102A_11-11_Build_Updates/src CommonElements/src ^/Fusion/Shared/CommonElements/tags/815-6133-102A_11-11_Build_Updates/lib CommonElements/lib ^/Fusion/Shared/CommonElements/branches/815-6133-101_WindowsBuild/lib/libce.lib@126 CommonElements/lib/libce.lib scarecrow_SunOS_btfritz> rm -Rf CommonElements/lib scarecrow_SunOS_btfritz> svn update [unrelated paths snipped] Fetching external item into 'CommonElements/src': External at revision 1042. Fetching external item into 'CommonElements/lib': ACommonElements/lib/libce.a U CommonElements/lib Updated external to revision 1042. Fetching external item into 'CommonElements/lib/libce.lib': svn: warning: W155022: Cannot insert a file external defined on '/accts/btfritz/temp/extern_test' into the working copy '/accts/btfritz/temp/extern_test/CommonElements/lib'. [unrelated paths snipped] At revision 1042. svn: E205011: Failure occurred processing one or more externals definitions *** END * Repeat the experiment with version 1.6: *** BEGIN * scarecrow_SunOS_btfritz> svn --version svn, version 1.6.17 (r1128011) compiled Oct 12 2011, 12:29:56 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.apache.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme scarecrow_SunOS_btfritz> svn propget svn:externals . | grep CommonElements # CommonElements ^/Fusion/Shared/CommonElements/tags/815-6133-102A_11-11_Build_Updates/src CommonElements/src ^/Fusion/Shared/CommonElements/tags/815-6133-102A_11-11_Build_Updates/lib CommonElements/lib ^/Fusion/Shared/CommonElements/branches/815-6133-101_WindowsBuild/lib/libce.lib@126 CommonElements/lib/libce.lib scarecrow_SunOS_btfritz> rm -Rf CommonElements/lib scarecrow_SunOS_btfritz> svn update [unrelated paths snipped] Fetching external item into 'CommonElements/src' External at revision 1042. Fetching external item into 'CommonElements/lib' ACommonElements/lib/libce.a U CommonElements/lib Updated external to revision 1042. Fetching external item into 'CommonElements/lib/libce.lib' ECommonElements/lib/libce.lib Updated external to revision 126. [unrelated paths snipped] Updated to revision 1042. *** END * I know from an earlier post to the list ( http://svn.haxx.se/users/archive-2012-07/0159.shtml ) that the 'E' status when pulling in the libce.lib file indicates that the file already exists, but this is not the case. As you can note
Re: File external into directory external's directory broken in 1.7
I wrote: > I have one repository with two projects. Project A externals in a couple > directories from Project B (a library). But the tag I need to pull in from > Project B did not have a Windows build, only a target (Linux derivative) > build, so I have a third external defined to pull in a Windows build of > the Project B library to the place it would go if it were there in the > first place. This worked in version 1.6, but now gives an error in 1.7 and > does not pull in the file. I searched the archives (Sorry, I guess I should have done that sooner) and came up with this: http://svn.haxx.se/dev/archive-2011-10/0377.shtml Like the poster in that thread, this issue is preventing many on my team from upgrading to SVN 1.7. In that thread, the claim was made in response that this worked "by accident" in version 1.6, but I do not see any reason why this might be the case. Is this actually the case? Is this something that can be fixed, or will file externals always be limited to be placed only within folders belonging directly to the current working copy? Regardless of whether it was originally an intentional feature, it is very useful when it works. And, directory externals do NOT have this limitation, so it seems quite arbitrary to the end user, even if the underlying implementation is very different between file and directory externals.