On Mon, Apr 05, 2010 at 10:30:06PM -0400, C. Michael Pilato wrote:
> Paul Burba wrote:
> > P.S. There are clearly some opportunities in this code to be more
> > conservative in requesting access to the repos root.  If
> > REPOS_REL_PATH has explicit mergeinfo we only need access to that
> > path.  Only if it has none and we need to find inherited mergeinfo do
> > we need access further up the repos tree...and even then we'd never
> > need access to the root (since how can it have an mergeinfo?).
> > 
> > Ideally we could check REPOS_REL_PATH for mergeinfo, if we found none
> > then reparent to REPOS_REL_PATH's immediate parent and check that, and
> > repeat as needed.  Of course that is not going to do any favors to
> > performance.  Regardless, these are changes that need to be made on
> > trunk; libsvn_client:mergeinfo.c:get_mergeinfo() on 1.6.x is
> > completely broken right now when operating on a URL.
> 
> As was discussed in IRC today, the whole point of the issue #3242 backport
> was to be "more conservative in requesting access to the repos root", so
> we'd really prefer to take that option.
> 
> Unfortunately, making that correction has taken me into a rat's nest of code
> problems.  Let's see if I can enumerate them:
> 
> 1.  All the RA layers depend on a helper function
>     svn_mergeinfo__remove_prefix_from_catalog() to convert repos abspaths
>     into paths relative to the session baton.  Unfortunately, that function
>     is a touch braindead and doesn't return consistent relpaths at all.
> 
> 2.  libsvn_client/mergeinfo.c:get_mergeinfo(), which is used by several
>     public APIs, claims to return a catalog keyed on repository relpaths.
>     But in the is_url case, it ... uh ... doesn't.
> 
> I'm currently looking into both of these problems, but clearly won't make
> any more progress tonight.

Should we delay the #3242 fix until 1.6.12 and release 1.6.11 ASAP?
That would give us plenty of time to do the #3242 backport properly,
and would give users access to the other 1.6.11 backport items.

Stefan

Reply via email to