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

Re: HEADS UP: Damaged mergeinfo in our history; likely pain in our future.

From: Paul Burba <ptburba_at_gmail.com>
Date: Wed, 9 Dec 2009 16:14:01 -0500

On Wed, Dec 9, 2009 at 4:08 PM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
> While trying to figure out why my attempt at performing a catch-up merge of
> the 'issue-3242-dev' branch with ^/subversion/trunk was conflicting like
> crazy for me today, I discovered something unhappy:
>
>   $ svn pget svn:mergeinfo .
>   subversion/branches/1.5.x-r30215:870312
>   subversion/branches/bdb-reverse-deltas:872050-872529
>   subversion/branches/diff-callbacks3:870059-870761
>   [...]
>
> See the leading slashes on those mergeinfo paths?  Oh, that's right, you
> can't see them *because they aren't there*!
>
> A quick glance at the code behind 'svnadmin load --parent-dir' which is
> supposed to prepend the parent directory onto each of the mergeinfo paths
> confirms that the code naively does this prepending without any attention to
> the possibility that the parent directory lacks a leading slash.  While
> that's not an errorful situation in general (parent_dir lacking the leading
> slash), the slash-less value certainly should have been detected and
> corrected before being used in a storage format that cares deeply about such
> things (like our svn:mergeinfo property format does).
>
> So.  Bug in libsvn_repos loading code.  Filed as issue #3547.  I'm testing a
> fix for that now.
>
> But the bigger question is, "Where do we go from here?"  I suspect that
> *all* of our repository-stored mergeinfo -- the entire history thereof -- is
> technically, syntactically invalid at this point.  Do we try to repair it?
> Or do we take this opportunity to make our merge tracking code a little more
> ... flexible (always storing one format, but accepting either)?

Looking into making the code tolerant of either (i.e. always treating
it as repos absolute regardless of the leading slash).

Paul
Received on 2009-12-09 22:14:30 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.