On Thu, Feb 21, 2013 at 10:41 PM, C. Michael Pilato <cmpil...@collab.net>wrote:
> On 02/21/2013 04:32 PM, stef...@apache.org wrote: > > Modified: subversion/trunk/subversion/include/private/svn_fs_util.h > > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_fs_util.h?rev=1448810&r1=1448809&r2=1448810&view=diff > > > ============================================================================== > > --- subversion/trunk/subversion/include/private/svn_fs_util.h (original) > > +++ subversion/trunk/subversion/include/private/svn_fs_util.h Thu Feb 21 > 21:32:26 2013 > > @@ -37,14 +37,16 @@ > > extern "C" { > > #endif /* __cplusplus */ > > > > -/* Return a canonicalized version of a filesystem PATH, allocated in > > - POOL. While the filesystem API is pretty flexible about the > > - incoming paths (they must be UTF-8 with '/' as separators, but they > > - don't have to begin with '/', and multiple contiguous '/'s are > > - ignored) we want any paths that are physically stored in the > > - underlying database to look consistent. Specifically, absolute > > - filesystem paths should begin with '/', and all redundant and > trailing '/' > > - characters be removed. > > +/* If the filesystem PATH is not already in canonical form, return a > > + canonicalized version of it, allocated in POOL. Otherwise, return > > + PATH directly. > > + > > + While the filesystem API is pretty flexible about the incoming paths > > + (they must be UTF-8 with '/' as separators, but they don't have to > > + begin with '/', and multiple contiguous '/'s are ignored) we want any > > + paths that are physically stored in the underlying database to look > > + consistent. Specifically, absolute filesystem paths should begin > with > > + '/', and all redundant and trailing '/' characters be removed. > > Hrm, in my experience this construct -- *maybe* allocating a returned value > in the provided pool, maybe not -- eventually leads to subtle problems > and/or redundant stringdup's (by callers who need to guarantee a particular > pool lifetime). I much prefer the simpler promise that the returned path > is > allocated from the provided pool. > O.k. ;) r1449260 should give us reasonably clear internal APIs for 1.8. Based on the discussions elsethread, 1.9 may see a bigger change here. -- Stefan^2. -- Certified & Supported Apache Subversion Downloads: * http://www.wandisco.com/subversion/download *