Hmm, I actually have no idea what is going on here (upgrade_tests.py 2 on win), after all.
The svn:externals definition goes: [[[ Properties on 'A/D': svn:externals ^/../repo.other/A exdir_A ///tmp/repo.other/A/D/G/ exdir_A/G/ [ <---- ] exdir_A/H -r 1 file:///tmp/repo.other/A/D/H /tmp/repo.other/A/B x ]]] and is resolved to: DBG: cleanup.c: 236: resolved_url = file:///tmp/repo.other/A/D/G I don't see a file://tmp/... (with two slashes) anywhere. I don't have access to a windows built svn, but the '///' triple slash scheme-relative external url-relpath seems to be resolved wrongly on windows...? But we do have different tests that verify this relative URL type. In svn_uri_canonicalize() (i.e. in canonicalize()), I can find some #ifdef SVN_USE_DOS_PATHS which possibly are the cause, assuming that they remove a slash too many. But I can't think of a reason why, as my patch only seems to call canonicalize("file:///tmp/repo...") and canonicalize("tmp/repo.other/A/D/G") Would someone with a win build be so kind and try to run a backtrace of this error so we have some line numbers? Otherwise I am considering reverting that change and discussing the EXTERNALS table first. ~Neels On 09/27/2011 01:59 AM, Neels J Hofmeyr wrote: > Ok, I think I know what this is related to. I wasn't aware of breaking the > build for such a long time, sincerely sorry about that... I'm not sure when > I can find time to fix it, but I'll try to find time soon. > > Thanks, > ~Neels > > On 09/26/2011 11:48 PM, Bert Huijben wrote: >> >> >>> -----Original Message----- >>> From: ne...@apache.org [mailto:ne...@apache.org] >>> Sent: donderdag 22 september 2011 21:38 >>> To: comm...@subversion.apache.org >>> Subject: svn commit: r1174342 - in /subversion/trunk/subversion: >>> include/private/svn_wc_private.h libsvn_client/cleanup.c >>> libsvn_wc/upgrade.c libsvn_wc/wc_db.c libsvn_wc/wc_db.h >>> >>> Author: neels >>> Date: Thu Sep 22 19:38:09 2011 >>> New Revision: 1174342 >>> >>> URL: http://svn.apache.org/viewvc?rev=1174342&view=rev >>> Log: >>> Issue #4016. Try to find proper URL information on externals during upgrade. >>> Do this after the entire upgrade ran through, as repository information is >>> easiest to obtain after all the rest has been upgraded. >>> >>> (This might obsolete some parts of the existing externals prop upgrade code. >>> But removing is for another patch, and might just be micro-optimization.) >>> >>> * subversion/libsvn_client/cleanup.c >>> (svn_client_upgrade): >>> Fetch all URL and revisions information from upgraded externals' working >>> copies, or from fetch_repos_info() if not checked out yet. This properly >>> populates the EXTERNALS table rows for upgraded externals of all kinds. >>> Furthermore, change error handling in the externals upgrade loop so that >>> one externals failure does not abort upgrade of other externals. >>> >>> * subversion/include/private/svn_wc_private.h, >>> * subversion/libsvn_wc/upgrade.c >>> (svn_wc__upgrade_add_external_info): New function. >>> >>> * subversion/libsvn_wc/wc_db.h, >>> * subversion/libsvn_wc/wc_db.c >>> (svn_wc__db_upgrade_insert_external): New function. >> >> I'm not sure if this problem is really caused by this commit, but >> upgrade_tests.py 2 is currently still failing on Windows: >> >> FAIL: upgrade_tests.py 2: upgrade with externals >> >> The interesting lines are: >> svn: warning: W200000: Error handling externals definition for >> 'svn-test-work\working_copies\upgrade_tests-2\A\D\exdir_A\G': >> svn: warning: W180001: Unable to connect to a repository at URL >> 'file://tmp/repo.other/A/D/G' >> >> Where 'file://tmp/repo.other/A/D/G' is interpreted as >> '\\tmp\repo.other\A\D\G' on Windows and is not canonical on *nix. >> >> Bert >> >> >
signature.asc
Description: OpenPGP digital signature