[[[ Fix issue #4185: SVN client silently fails to import an ancestor of external file specified viasvn:externals rule with operative revision.
* subversion/libsvn_client/externals.c (switch_file_external): replace 'url' parameter mistakenly passed to svn_ra_do_switch3() by 'switch_loc->url'. ]]] I've reported issue 4185 after SVN 1.7 release and it has not been fixed until now. In brief, when I try to import a file, specified viasvn:externals rule with operative revision, such as for example: '-r1 A/tags/1.0/somefile.txt somefile.txt' and it so happens, that this file at specified revision has different URL, such as for example: A/trunk/somefile.txt that is, 'A/trunk/somefile.txt' is the ancestor of 'A/tags/1.0/somefile.txt somefile.txt' used as a source of 'svn copy' op, then SVN client fails to import it into a WC. More details and test script are in the ticket. All this time, because of this issue I had to stick to SVN client version 1.6. So I figured may be I could do something about it, since I want to switch over to new SVN version. Turned out, that the root of the problem was just a typo. Again, this issue relates to 1.7.x and 1.8.x versions. Regards, Alex.
Index: subversion/libsvn_client/externals.c =================================================================== --- subversion/libsvn_client/externals.c (revision 1641162) +++ subversion/libsvn_client/externals.c (working copy) @@ -528,7 +528,7 @@ switch_file_external(const char *local_abspath, invalid revnum, that means RA will use the latest revision. */ SVN_ERR(svn_ra_do_switch3(ra_session, &reporter, &report_baton, switch_loc->rev, - target, svn_depth_unknown, url, + target, svn_depth_unknown, switch_loc->url, FALSE /* send_copyfrom */, TRUE /* ignore_ancestry */, switch_editor, switch_baton,