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

File external that worked fine in 1.6.x not working in 1.7.5

From: Benjamin Fritz <fritzophrenic_at_gmail.com>
Date: Wed, 25 Jul 2012 11:23:49 -0500

I have two repositories and I am using svn:externals to place a
directory and a few files from one repository into a working copy of
the other.

I have the following two svn:externals definitions on a directory in
my working copy for the repo-A repository:

^/../repo-B/tools/coverity/scripts scripts
^/../repo-B/tools/coverity/README.txt scripts/README.txt

Note that this will create a "scripts" directory from repo-B in
repo-A's working copy, and then place a single file from repo-B into
the directory from repo-B. This worked fine in 1.6.17, but on upgrade
to 1.7.5, I get the following message when I do "svn update":

Fetching external item into 'scripts\README.txt':
svn: warning: W200007: Unsupported external: url of file external
'http://server/repo-B/tools/coverity/README.txt' is not in repository
'http://server/repo-A'

and then:

At revision 885.
svn: E205011: Failure occurred processing one or more externals definitions

I get the same results on Windows XP 64-bit as I do on a Solaris 9 system.

I searched the bug tracker for "externals" (155 issues found) but none
of the results seemed relevant. The documentation (
http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html ) says
that "A file external's URL must always be in the same repository as
the URL that the file external will be inserted into," but even though
the file is from a different repository in this case, it is being
PLACED INTO a directory from the same repository, so I expect it to
work (especially since it worked in 1.6.17).

A Google search for the W200007 message turns up only a collection of
hits for commits to the SVN project. I have not spent a lot of time
deciphering the code changes from these commits, but at a glance (and
from the commit message) it appears as if a check was added
specifically to prevent using externals from different repositories.
I'm not sure whether it was intentional that it removed the use case
of grabbing a file from a different repository and placing it into a
directory from that same repository.

Whether or not this is going to be fixed, is there a workaround that
would allow me to get the README.txt file into repo-A from repo-B
without getting the entire directory containing it? Or should I just
give up and put README.txt into repo-A directly (probably in a
location that multiple projects in the repository can access via
svn:externals)?

Please copy me on any response; I'm not currently planning to
subscribe to the mailing list.

-- 
Ben Fritz
Received on 2012-07-25 22:24:08 CEST

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