> -----Original Message-----
> From: Barry Scott [mailto:barry_at_barrys-emacs.org]
> Sent: woensdag 2 november 2011 1:12
> To: Subversion Development
> Subject: 1.7.0 assert on svn_client_checkout with E235000
>
> This is a extract from the pysvn win32 test-01 output.
> (I will test with 1.7.1 once there are kits from David Darj's win32svn).
>
> pysvn is calling svn_client_mkdir and it works
> Info: PYSVN CMD mkdir file:///b:/repos/trunk/test -m "test-01 add
> test"
>
> pysvn is calling svn_client_list and it works
> Info: PYSVN CMD ls file:///b:/repos -v -R
> 2 barry 0 01-Nov-2011 23:57:49
file:///B:/repos/trunk
> 2 barry 0 01-Nov-2011 23:57:49
file:///B:/repos/trunk/test
> Info: Test - checkout
> pysvn is calling svn_client_checkout and it fails
> Info: PYSVN CMD checkout file:///b:/repos/trunk b:\wc1
> svn: E235000: In file 'C:\SVN-1.7.0\src-
> 1.7.0\subversion\libsvn_client\checkout.c' line 94: assertion failed
> (svn_uri_is_canonical(url, pool))
>
> These same tests pass for SVN 1.6.x.
>
> I'm well aware of the assert for canonical URLs and as you can see
> the URL is same shape for mkdir, list and checkout.
>
> Is this a known problem with the svn_client API? Or do I need to dig
deeper?
The client library expects canonical path arguments and some of these paths
are no longer canonical since we added better validations.
The canonical form of file:///b:/repos is file:///B:/repos
And the canonical form of b:/wc1 is B:/wc1
Either you (as caller of pysvn) or pysvn should canonicalize paths before
passing them to the Subversion api.
Personally I would say that pysvn shoulddo that for you, but that is up for
debate.
Bert
>
> Barry
Received on 2011-11-02 07:48:33 CET