> -----Original Message----- > From: Philip Martin [mailto:philip.mar...@wandisco.com] > Sent: donderdag 29 januari 2015 00:49 > To: dev@subversion.apache.org > Subject: Re: svn commit: r1655474 - > /subversion/trunk/subversion/tests/cmdline/redirect_tests.py > > rhuij...@apache.org writes: > > > Author: rhuijben > > Date: Wed Jan 28 21:28:07 2015 > > New Revision: 1655474 > > > > URL: http://svn.apache.org/r1655474 > > Log: > > Following up on r1655458, update expected results in redirect tests. > > (This file was missing from that patch) > > > > * subversion/tests/cmdline/redirect_tests.py > > (redirected_copy): Split test. Update expected result. > > > > Modified: > > subversion/trunk/subversion/tests/cmdline/redirect_tests.py > > > > Modified: subversion/trunk/subversion/tests/cmdline/redirect_tests.py > > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/redir > ect_tests.py?rev=1655474&r1=1655473&r2=1655474&view=diff > > > ================================================================ > ============== > > --- subversion/trunk/subversion/tests/cmdline/redirect_tests.py (original) > > +++ subversion/trunk/subversion/tests/cmdline/redirect_tests.py Wed Jan 28 > 21:28:07 2015 > > @@ -211,10 +211,18 @@ def redirected_copy(sbox): > > > > sbox.build(create_wc=False) > > > > + # This tests the actual copy handling > > expected_error = "svn: E175011: Repository moved permanently" > > svntest.actions.run_and_verify_svn(None, None, expected_error, > > 'cp', '-m', 'failed copy', > > sbox.redirected_root_url() + '/A', > > + sbox.redirected_root_url() + '/A_copied') > > + > > + # This tests the cmdline handling of '^/copy-of-A' > > + expected_error = "svn: E155007: Resolving '\^/': no repository root found" > > + svntest.actions.run_and_verify_svn(None, None, expected_error, > > + 'cp', '-m', 'failed copy', > > + sbox.redirected_root_url() + '/A', > > '^/copy-of-A') > > > > With 1.8 I get: > > $ svn cp -mm http://localhost:8888/obj/PERM/repo/A ^/copy > svn: E175011: Repository moved permanently to > 'http://localhost:8888/obj/repo/A'; please relocate > > with trunk I get: > > $ svn cp -mm http://localhost:8888/obj/PERM/repo/A ^/copy > svn: E155007: Resolving '^/': no repository root found in the target arguments > or in the current directory > > which is a rubbish error message. The point of this test is that it > should report E175011 to show the relocated URL to the user.
That is what you get when we mix two features without a proper design. The commandline parser +- ignores every error it gets from svn_client_get_repos_root(), telling you that it failed to obtain a repository root. And redirects were just added as nice feature for during svn update. (And you really don't want to know how you got the 'nice' error in 1.8 / trunk before the recent patches... It was somewhere halfway doing a http-v1 protocol handshake on the pre-redirect location, after leaving an ra-session in an dangling state after the initial open operation) Getting a better message here, requires a better implementation in svn-s commandline argument processing. It should ask for redirect information and then use that to inform the user. > > I note another problem with trunk: > > $ svn ls http://localhost:8888/obj/PERM/repo/A > Redirecting to URL 'pB#.': > svn: E170000: Illegal repository URL 'pB#.' Thanks for fixing this one. Bert