stef...@apache.org wrote on Mon, Aug 09, 2010 at 18:33:53 -0000:
> Author: stefan2
> Date: Mon Aug  9 18:33:53 2010
> New Revision: 983766
> 
> URL: http://svn.apache.org/viewvc?rev=983766&view=rev
> Log:
> Fix the root cause of an assertion triggered by exporting KDE /trunk:
> File names need to be canonicalized when forming URLs.
> 
> * subversion/libsvn_client/export.c
>   (add_file): properly escape the file's URL
> 
> Modified:
>     subversion/branches/performance/subversion/libsvn_client/export.c
> 
> Modified: subversion/branches/performance/subversion/libsvn_client/export.c
> URL: 
> http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_client/export.c?rev=983766&r1=983765&r2=983766&view=diff
> ==============================================================================
> --- subversion/branches/performance/subversion/libsvn_client/export.c 
> (original)
> +++ subversion/branches/performance/subversion/libsvn_client/export.c Mon Aug 
>  9 18:33:53 2010
> @@ -708,7 +708,12 @@ add_file(const char *path,
>    struct edit_baton *eb = pb->edit_baton;
>    struct file_baton *fb = apr_pcalloc(pool, sizeof(*fb));
>    const char *full_path = svn_dirent_join(eb->root_path, path, pool);
> -  const char *full_url = svn_uri_join(eb->root_url, path, pool);
> +
> +  /* path is not canonicalized, i.e. it may still contain spaces etc. */
> +  const char *full_url = svn_uri_canonicalize(svn_uri_join(eb->root_url, 
> +                                                           path, 
> +                                                           pool),
> +                                              pool);
>  

See svn_path_url_add_component2().

Also, this isn't really related to performance; it belongs on /trunk.  Next
time, you could send this with a [PATCH] marker in the subject line, and
a full committer could +1 you to commit that to directly to /trunk.

In this case, I give my +1.

Daniel
(actually, this may be a good change to backport to 1.6.x too)

>    fb->edit_baton = eb;
>    fb->path = full_path;
> 
> 

Reply via email to