Teach commit about CHERRY_PICK_HEAD
authorJay Soffian <jaysoffian@gmail.com>
Sun, 20 Feb 2011 04:12:29 +0000 (23:12 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 Feb 2011 06:58:32 +0000 (22:58 -0800)
commit37f7a8579363a98efc48dfb6964a519034fc9acc
tree0fc435a0e27b66668cfd5bab3e08112ecdcecc4c
parent5b2af8cac9883ab7e666d4aa30ea7fd3d1f1d4de
Teach commit about CHERRY_PICK_HEAD

Previously the user was advised to use commit -c CHERRY_PICK_HEAD after
a conflicting cherry-pick. While this would preserve the original
commit's authorship, it would sadly discard cherry-pick's carefully
crafted MERGE_MSG (which contains the list of conflicts as well as the
original commit-id in the case of cherry-pick -x).

On the other hand, if a bare 'commit' were performed, it would preserve
the MERGE_MSG while resetting the authorship.

In other words, there was no way to simultaneously take the authorship
from CHERRY_PICK_HEAD and the commit message from MERGE_MSG.

This change fixes that situation. A bare 'commit' will now take the
authorship from CHERRY_PICK_HEAD and the commit message from MERGE_MSG.
If the user wishes to reset authorship, that must now be done explicitly
via --reset-author.

A side-benefit of passing commit authorship along this way is that we
can eliminate redundant authorship parsing code from revert.c.

(Also removed an unused include from revert.c)

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-commit.txt
builtin/commit.c
builtin/revert.c
t/t3507-cherry-pick-conflict.sh
t/t7509-commit.sh
wt-status.c
wt-status.h