fmt-merge-msg: show those involved in a merged series
authorJunio C Hamano <gitster@pobox.com>
Tue, 13 Mar 2012 17:00:00 +0000 (10:00 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Mar 2012 03:44:29 +0000 (20:44 -0700)
commit418a1435f19b8105de2ee94b54cc2962bc9b5f03
treec09452f617a5c7651d073617bad64b7bf7e090ae
parentead8eb8c1092ce2d94d70872946829a7a946ae9d
fmt-merge-msg: show those involved in a merged series

As we already walk the history of the branch that gets merged to
come up with a short log, let's label it with names of the primary
authors, so that the user who summarizes the merge can easily give
credit to them in the log message.

Also infer the names of "lieutents" to help integrators at higher
level of the food-chain to give credit to them, by counting:

 * The committer of the 'tip' commit that is merged
 * The committer of merge commits that are merged

Often the first one gives the owner of the history being pulled, but
his last pull from his sublieutenants may have been a fast-forward,
in which case the first one would not be.  The latter rule will
count the integrator of the history, so together it might be a
reasonable heuristics.

There are two special cases:

 - The "author" credit is omitted when the series is written solely
   by the same author who is making the merge. The name can be seen
   on the "Author" line of the "git log" output to view the log
   message anyway.

 - The "lieutenant" credit is omitted when there is only one key
   committer in the merged branch and it is the committer who is
   making the merge. Typically this applies to the case where the
   developer merges his own branch.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fmt-merge-msg.c
t/t6200-fmt-merge-msg.sh