[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: svn commit: r983766 - /subversion/branches/performance/subversion/libsvn_client/export.c

From: Bert Huijben <bert_at_vmoo.com>
Date: Mon, 9 Aug 2010 21:03:09 +0200

> -----Original Message-----
> From: hyrum_at_hyrumwright.org [mailto:hyrum_at_hyrumwright.org] On Behalf
> Of Hyrum K. Wright
> Sent: maandag 9 augustus 2010 20:42
> To: dev_at_subversion.apache.org
> Cc: commits_at_subversion.apache.org
> Subject: Re: svn commit: r983766 -
> /subversion/branches/performance/subversion/libsvn_client/export.c
>
> Should this fix be made on trunk?
>
> To make sure that bug fixes get the broadest coverage, we fix bugs on
> trunk, and then backport them to feature and/or release branches. It
> may seem like some additional overhead, since you've (currently) only
> got commit priviledges on the performance-improvement branch, but it
> helps make sure bugs get fixed more broadly, and prevents merge
> conflicts. It also keeps the changes happening on the branch
> on-topic.
>
> Thanks for finding the fixes for these bugs, though. :)
>
> -Hyrum
>

> ==========================================================
> ====================
> > --- 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);

svn_uri_join expects it's arguments to be canonical, so path should be fixed
before passing. And as path may contain existing sequences like %20, that
need further escaping instead of just passing the real fix would be to call
svn_path_uri_encode().

        Bert
Received on 2010-08-09 21:04:15 CEST

This is an archived mail posted to the Subversion Dev mailing list.