git-commit-vandalism/builtin
Junio C Hamano 418a1435f1 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>
2012-03-13 20:44:29 -07:00
..
add.c Merge branch 'js/add-e-submodule-fix' into maint 2012-02-13 11:42:18 -08:00
annotate.c
apply.c Use correct grammar in diffstat summary line 2012-02-03 23:19:42 -08:00
archive.c Revert "upload-archive: use start_command instead of fork" 2011-11-15 15:39:33 -08:00
bisect--helper.c
blame.c Merge branch 'maint-1.7.7' into maint 2011-12-13 21:58:51 -08:00
branch.c Merge branch 'cn/maint-branch-with-bad' into maint 2012-03-04 22:17:52 -08:00
bundle.c
cat-file.c
check-attr.c Merge branch 'bc/attr-ignore-case' 2011-10-17 21:37:14 -07:00
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'jc/checkout-out-of-unborn' into maint 2012-02-16 14:18:06 -08:00
clean.c
clone.c Merge branch 'cb/transfer-no-progress' into maint 2012-02-21 15:14:37 -08:00
commit-tree.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
commit.c Merge branch 'jx/i18n-more-marking' into maint 2012-02-16 13:59:53 -08:00
config.c Merge branch 'jv/maint-config-set' into maint 2011-12-28 12:03:19 -08:00
count-objects.c
describe.c
diff-files.c
diff-index.c
diff-tree.c
diff.c use struct sha1_array in diff_tree_combined() 2011-12-17 18:21:37 -08:00
fast-export.c Fix an enum assignment issue spotted by Sun Studio 2011-12-21 10:19:04 -08:00
fetch-pack.c push/fetch/clone --no-progress suppresses progress output 2012-02-13 13:06:53 -08:00
fetch.c push/fetch/clone --no-progress suppresses progress output 2012-02-13 13:06:53 -08:00
fmt-merge-msg.c fmt-merge-msg: show those involved in a merged series 2012-03-13 20:44:29 -07:00
for-each-ref.c Convert resolve_ref+xstrdup to new resolve_refdup function 2011-12-13 09:26:52 -08:00
fsck.c Rename resolve_ref() to resolve_ref_unsafe() 2011-12-13 09:39:46 -08:00
gc.c prune: handle --progress/no-progress 2011-11-07 22:12:19 -08:00
grep.c Merge branch 'jk/grep-binary-attribute' into maint 2012-02-21 14:57:05 -08:00
hash-object.c
help.c
index-pack.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
init-db.c builtin/init-db.c: eliminate -Wformat warning on Solaris 2011-12-20 16:02:08 -08:00
log.c Sync with v1.7.8.1 2011-12-21 12:02:44 -08:00
ls-files.c
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c
merge-base.c
merge-file.c
merge-index.c
merge-ours.c Move 'builtin-*' into a 'builtin/' subdirectory 2010-02-22 14:29:41 -08:00
merge-recursive.c
merge-tree.c
merge.c Merge branch 'tr/merge-edit-guidance' into maint 2012-02-27 15:31:50 -08:00
mktag.c
mktree.c Merge "Move 'builtin-*' into a 'builtin/' subdirectory" 2011-11-10 09:10:51 -08:00
mv.c Merge branch 'jk/maint-mv' into maint 2011-12-28 11:32:36 -08:00
name-rev.c Merge branch 'jc/maint-name-rev-all' into maint-1.7.6 2011-12-13 21:12:34 -08:00
notes.c Merge branch 'nd/war-on-nul-in-commit' 2011-12-22 11:27:26 -08:00
pack-objects.c Merge branch 'maint' 2012-01-12 23:33:39 -08:00
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c
prune.c prune: handle --progress/no-progress 2011-11-07 22:12:19 -08:00
push.c push/fetch/clone --no-progress suppresses progress output 2012-02-13 13:06:53 -08:00
read-tree.c
receive-pack.c Merge branch 'cb/receive-pack-keep-errors' into maint 2012-02-21 15:14:41 -08:00
reflog.c prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
remote-ext.c
remote-fd.c
remote.c Merge branch 'pj/remote-set-branches-usage-fix' into maint 2012-02-27 15:33:33 -08:00
replace.c Convert many resolve_ref() calls to read_ref*() and ref_exists() 2011-11-13 12:21:06 -08:00
rerere.c
reset.c reset: update cache-tree data when appropriate 2011-12-06 15:13:39 -08:00
rev-list.c rev-list: fix --verify-objects --quiet becoming --objects 2012-02-28 10:47:30 -08:00
rev-parse.c
revert.c Merge branch 'rr/revert-cherry-pick' 2011-12-22 15:30:22 -08:00
rm.c
send-pack.c push/fetch/clone --no-progress suppresses progress output 2012-02-13 13:06:53 -08:00
shortlog.c
show-branch.c Rename resolve_ref() to resolve_ref_unsafe() 2011-12-13 09:39:46 -08:00
show-ref.c Convert many resolve_ref() calls to read_ref*() and ref_exists() 2011-11-13 12:21:06 -08:00
stripspace.c Update documentation for stripspace 2011-12-12 16:48:54 -08:00
symbolic-ref.c Rename resolve_ref() to resolve_ref_unsafe() 2011-12-13 09:39:46 -08:00
tag.c Merge branch 'jk/maint-tag-show-fixes' into maint 2012-02-13 23:31:27 -08:00
tar-tree.c
unpack-file.c
unpack-objects.c
update-index.c
update-ref.c
update-server-info.c
upload-archive.c upload-archive: use start_command instead of fork 2011-11-21 14:32:40 -08:00
var.c
verify-pack.c
verify-tag.c Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
write-tree.c