Code

Introduce CHERRY_PICK_HEAD
authorJay Soffian <jaysoffian@gmail.com>
Sun, 20 Feb 2011 04:12:27 +0000 (23:12 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 Feb 2011 06:58:02 +0000 (22:58 -0800)
commitd7e5c0cbfb0421d8a609f1125267dbad73069410
tree7b19c3c4182cdbf42d260f4da024c2774718c6b0
parent2161da103950704a92993702696c9b573dcbccae
Introduce CHERRY_PICK_HEAD

When a cherry-pick conflicts git advises:

 $ git commit -c <original commit id>

to preserve the original commit message and authorship. Instead, let's
record the original commit id in CHERRY_PICK_HEAD and advise:

  $ git commit -c CHERRY_PICK_HEAD

A later patch teaches git to handle the '-c CHERRY_PICK_HEAD' part.
Note that we record CHERRY_PICK_HEAD even in the case where there
are no conflicts so that we may use it to communicate authorship to
commit; this will then allow us to remove set_author_ident_env from
revert.c. However, we do not record CHERRY_PICK_HEAD when --no-commit
is used, as presumably the user intends to further edit the commit
and possibly even cherry-pick additional commits on top.

Tests and documentation contributed by Jonathan Nieder.

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-cherry-pick.txt
Documentation/revisions.txt
branch.c
builtin/commit.c
builtin/merge.c
builtin/revert.c
t/t3507-cherry-pick-conflict.sh