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

Re: Why doesn't mergeinfo elision occur here?

From: Stefan Sperling <stsp_at_elego.de>
Date: Fri, 3 Feb 2012 17:18:29 +0100

On Fri, Feb 03, 2012 at 04:45:17PM +0100, André Hänsel wrote:
> I would think those two mergeinfos were equivalent, so mergeinfo elision
> should remove the mergeinfo on "live/templates/c-physignathus".
>
> # svn propget svn:mergeinfo live
> /cm_dev:99-344
> /dev:367-578,580
>
> # svn propget svn:mergeinfo live/templates/c-physignathus
> /cm_dev/templates/c-physignathus:99-344
> /cm_dev/templates/p2011:99-344
> /dev/templates/c-physignathus:367-578,580
>
> But it doesn't. What's the reason?
>
> TortoiseSVN 1.7.4, Subversion 1.7.2
>

Mergeinfo elision is quite simplistic as of now.
There are ways to improve it but as far as I know nobody is working
on improvements at the moment.

Below, I am quoting Paul Burba in
http://svn.haxx.se/dev/archive-2011-09/0248.shtml
Paul explains how mergeinfo elision works today and how it could be improved.

[begin quote]
Given:

  A path P and some path-wise child of P called C:
  Assume both P and C have explicit mergeinfo.
  Assume there is no intermediate patch between P and C with explicit mergeinfo.
  Assume P and C are at the same revision as are any intermediate
paths between them.

Question:

  Can the mergeinfo on C elide to P?

Looking at the intersection of the P and C's mergeinfo we have:

A) Common mergeinfo (that differs only by the path-wise difference
between P and C) - This can elide.

B) Mergeinfo exclusive to P - If *all* of this describes merges that
are inoperative on C, then this can elide.

C) Mergeinfo exclusive to C - If all of this describes merges that are
operative only on C and/or on subtrees which are not part of P, then
this can elide.

If elision occurs in *all* three cases then the mergeinfo on C can elide to P.

Today only 'A' is supported when 'B' and 'C' are empty sets.
[end quote]
Received on 2012-02-03 17:19:07 CET

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