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

Re: Merge information lost with newer versions of subversion

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Mon, 03 Mar 2014 21:58:09 +0000

Henrik Carlqvist <hc94_at_poolhem.se> writes:

> On Wed, 26 Feb 2014 20:41:38 +0100
> Henrik Carlqvist <hc528_at_poolhem.se> wrote:
>> Now I have finally been able to create a small case where merge
>> information is lost.
>
> I didn't get much response here, do you think that I should file a bug
> report into the subversion issue tracker?

I don't really understand the "log -g" code, but the result looks odd to
me. I think the code attempts to classify which parts of the merge are
direct and indirect but it ends up adding extra changes. If you run the
log in different directions then different results are obtained:

  $ svn log -qg -r0:head file:///tmp/repo_test/trunk
  ...
  ------------------------------------------------------------------------
  r9 | pm | 2014-03-03 21:00:15 +0000 (Mon, 03 Mar 2014)
  Merged via: r10
  ------------------------------------------------------------------------

and

  $ svn log -qg -rhead:0 file:///tmp/repo_test/trunk
  ...
  ------------------------------------------------------------------------
  r9 | pm | 2014-03-03 21:00:15 +0000 (Mon, 03 Mar 2014)
  Merged via: r12, r11
  ------------------------------------------------------------------------

The change made on branches/1 in r9 is merged to trunk in r10:

  $ svn diff --properties-only -c10 file:///tmp/repo_test
  ...
  Property changes on: trunk
  ___________________________________________________________________
  Added: svn:mergeinfo
     Merged /branches/1:r4-9

The change is then merged from trunk to branches/2 in r11:

  $ svn diff --properties-only -c11 file:///tmp/repo_test
  ...
  Property changes on: branches/2
  ___________________________________________________________________
  Added: svn:mergeinfo
     Merged /trunk:r6-10
     Merged /branches/1:r4-9

There is a merge back from branches/2 to trunk in r12:

  $ svn diff --properties-only -c12 file:///tmp/repo_test
  ...
  Property changes on: trunk
  ___________________________________________________________________
  Modified: svn:mergeinfo
     Merged /branches/2:r6-11

The trunk mergeinfo change in r12, /branches/2:r6-11, refers to the
mergeinfo change in r11 and that includes /branches/1:r4-9.

There is also this:

  $ svn log -qg -c12 file:///tmp/repo_test/trunk
  ...
  ------------------------------------------------------------------------
  r9 | pm | 2014-03-03 21:00:15 +0000 (Mon, 03 Mar 2014)
  Merged via: r12, r11, r10
  ------------------------------------------------------------------------

which shows 3 revisions in the via list, i.e. both paths.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-03-03 22:58:44 CET

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

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