[Svnmerge] Log of merges

Blair Zajac blair at orcaware.com
Fri Nov 4 11:21:21 PST 2005


Giovanni Bajo wrote:
> Hello,
> 
> a GCC branch maintainer has asked me for a way to tell svnmerge "jump me back 3
> merges ago". While I believe that calling "svn up" is a bit too much for
> svnmerge, this request gave me an idea for a new feature: we could implement a
> "svnmerge log" command which shows the list of all merges happened in the
> branch. This would allow to easily implement the jump-back command as a
> wrapping script (or give the basis to code it within svnmerge, if we want it
> there). I'd first concentrate on getting the log, though.

Hi Giovanni,

Is the merged to location getting any commits over than from svnmerge?

The easiest way to go back three commits is to run

$ svn update -r PREV
$ svn update -r PREV
$ svn update -r PREV

This does all the hard work of figuring out which revision had the last commit. 
  Here's it running in our svn 1.3 branch:

$ svn update
At revision 17198.
$ svn update -r PREV
U    STATUS
Updated to revision 17190.
$ svn update -r PREV
U    www/svn_1.3_releasenotes.html
Updated to revision 17176.
$ svn update -r PREV
U    STATUS
U    subversion/libsvn_subr/subst.c
U    subversion/tests/clients/cmdline/trans_tests.py
Updated to revision 17160.
$ svn update -r PREV
U    STATUS
Updated to revision 17159.

> 
> I can think of three possible implementations:
> 
> 1) Filtering "svn log" looking for our own generated commit messages. Of
> course, this only works if the user uses our commit messages, and don't tweak
> them too much (some regexp will have to still match). I'm -0 on this.
> 
> 2) Inspecting the history of the svnmerge-integrated property (+1 in concept).
> I couldn't come up with a command line set of flags which would allow me to log
> only property changes. I could filter a verbose svn log, but I suspect it is
> going to be overkill for large branches (svn log doesn't even support -N for
> non-recursive).
> 
> 3) Adding a new svnmerge-history property which would just contain a list of
> the revisions at which the merge happened. With that revision list, we can then
> extract whichever information we want to display on screen. I'm +0 on this.
> 
> Now about the interface. I'd expect a plain "svnmerge log" to behave exactly
> like "svn log", but just shows the log of the merges. Then I'd like to have:
> 
> - an option for "show me only the log header". -q [--quiet], probably.
> - an option for "show me only the revision numbers". -qq.
> - an option for "show me up to three merges ago". --limit should do it (just
> like 'svn log').
> 
> Comments?

I don't really see the use of this yet.

Regards,
Blair



More information about the Svnmerge mailing list