[Svnmerge] Log of merges

Giovanni Bajo rasky at develer.com
Thu Nov 3 17:59:15 PST 2005


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.

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?

Giovanni Bajo




More information about the Svnmerge mailing list