Opened 13 years ago

Last modified 11 years ago

#336 new task

support for merge-tracking

Reported by: Peter Johansson Owned by: Jari Häkkinen
Priority: critical Milestone: svndigest 0.x+
Component: core Version: trunk
Keywords: Cc:

Description (last modified by Peter Johansson)

From subversion 1.5 there is support for merge-tracking. http://subversion.tigris.org/svn_1.5_releasenotes.html#merge-tracking

Most importantly this means that svn log and svn blame take a new option -g (--use-merge-info) which tells them to take into account merge info. In other words, in for example svn blame the author who made the change will be shown rather than the author who did the merge.

We could definitely use this new functionality in svndigest. merge-tracking could be configurable in same fashion as stop-on-copy (ticket:204).

Compatibility

Some issues regarding compatibility. The merge tracking requires that both client and server are of version 1.5 or later. If the server is older I guess the switch is just ignored.

To incorporate this into svndigest we will need to use 1.5 API. Therefore it would be nice if we could check in configure which version we are compiling against, and then have PP macro say HAVE_SVN_1_5 and use that to decide which API to call. This ambivalence should only occur in SVN singleton that is our connection to svn api. This means that user with svn 1.4 still can use svndigest, and user with svn 1.5 will get the expected functionality.

I'm not sure about timeline for this feature. 0.7 is out of question, so perhaps 0.8 (but we can decide that later)

Change History (5)

comment:1 Changed 13 years ago by Peter Johansson

Description: modified (diff)

fixed typo

comment:2 Changed 13 years ago by Peter Johansson

Note: merging means that a revision that previously was missing can pop up after a merge. For example you could have a log

rev 1
rev 2
rev 4

rev 3 is missing because it belongs to a branch. If we merge that branch into this one, rev 3 will appear in the log. The problem I'm coming to is that do_parse in AddStats and BlameStats assume that no new revs will pop up with that are prior the revision the Stats was last cached. This is just a note that we should not forget that assumption when working on this ticket.

comment:3 Changed 11 years ago by Peter Johansson

We probably need to upgrade the test repository before working on this, right?

comment:4 in reply to:  3 ; Changed 11 years ago by Jari Häkkinen

Replying to peter:

We probably need to upgrade the test repository before working on this, right?

You mean to FSFS version 3 or later?

comment:5 in reply to:  4 Changed 11 years ago by Peter Johansson

Replying to jari:

Replying to peter:

We probably need to upgrade the test repository before working on this, right?

You mean to FSFS version 3 or later?

Yeah, that is one thing. I'm not too familar how svn works on the admin side, but the test repo must have been created with an old version of svn-admin (1.3 or 1.4 I would guess). If we want the repo to have 1.5 features, I thought we needed to upgrade the repo to 1.5. For example the svndigest repo is currently 1.6.6 indicated in the footer here http://dev.thep.lu.se/svndigest/svn/. Does that version number just indicate that we have svn-admin 1.6.6 running on the server? In that case, the only upgarde we need to do is to upgrade the database to FSFFS3 as you say.

Note: See TracTickets for help on using tickets.