I have created issue #3839.

Best regards,
Simon

http://www.zennaware.com

On Mar 17, 2011, at 12:36 PM, Stefan Sperling wrote:

On Thu, Mar 17, 2011 at 12:19:01PM +0100, Simon Wilson wrote:
> I'm posting here for feedback before opening an issue with the Subversion 
> tracker.
> 

Please feel free to file an issue. Thank you!

> Passing multiple URLs to 'svn delete' generates the following error when one 
> or more of the URLs contains a URL-encoded space (i.e. %20):
> 
> URL 'file:///Users/me/dev/repo/lib/tags/2.0.3.008%2520(R2.0.3)' does not exist
> 
> The error has status 160013 and originates at 
> subversion/libsvn_client/delete.c, 197
> 
> The actual URL specified to 'svn delete' was 
> 'file:///Users/me/dev/repo/lib/tags/2.0.3.008%20(R2.0.3)', i.e. the name of 
> the directory being deleted is '2.0.3.008 (R2.0.3)'.
> 
> The error description indicates that 'svn delete' is double-encoding the URL, 
> incorrectly replacing the '%' character from the URL-encoded space (i.e. %20) 
> with %25, resulting in an incorrect URL.
> 
> Specifying a single URL with a URL-encoded space to 'svn delete' works as 
> expected.
> 
> A cursory glance at the source for svn_client_delete3 and 
> svn_path_condense_targets indicates that svn_path_condense_targets contains 
> special-case handling for a single URL. This might explain why the 
> double-encoding is not encountered when a single URL is specified to 'svn 
> delete' and may indicate that svn_path_condense_targets is the source of the 
> error.
> 
> Other observations:
> 
> * This appears to be a regression. I could not reproduce this error with 
> 'svn' on the command line for the build of 1.6.5 included with Mac OS X 
> 10.6.6. I also could not reproduce this when using the svn_client_delete2 API 
> with a 1.6.6 static library we built from source.
> 
> * This behavior seems to have been introduced at some point between 1.6.7 and 
> 1.6.12. We have verified that the bug exists in 1.6.12 and is still in 
> evidence in 1.6.16. We have not tested 1.6.7 - 1.6.11 explicitly.
> 
> * This may not seem to be a particularly severe issue to users of the 'svn' 
> command-line interface. However, we use the svn_client_delete2 API in our Mac 
> svn product to allow the user to delete the selected files in a browser GUI 
> which supports multiple selection. This makes it trivial for the user to 
> delete multiple items from a repository in a single commit, and greatly 
> increases the likelihood of users experiencing this issue.
> 
> Best regards,
> Simon Wilson
> 
> http://www.zennaware.com

Reply via email to