Comment 5 for bug 125773

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

I think that a new revisionspec (or two) is the best solution here. I suggest the following new revisionspecs:

  tip:mergerevno_or_nick
  split:mergerevno_or_nick
  join:mergerevno_or_nick

where mergerevno is the first two parts of the revno. Some examples ...

Display a merge by mergerevno:

  bzr log -r1.400.1..tip:1.400

Display a merge by nick including the place it split from the mainline/parent-mergeline:

  bzr log -rsplit:my-fix..-rtip:my-fix

Display what happened on the mainline between my-fix and your-fix:

  bzr log -rjoin:my-fix..join:your-fix

I suspect the nick can change along a mergeline. I think we ought to ignore that and treat the final nick as the one identifying that mergeline.

FWIW, as part of my work on speeding up revno->revision-id lookup, I'm looking at caching mergeline information (in bzr-revnocache initially) so I think we could make the above fast operations via that cache in good time.