diff options
author | Jay Soffian <jaysoffian@gmail.com> | 2011-02-19 23:12:29 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-02-21 22:58:32 -0800 |
commit | 37f7a8579363a98efc48dfb6964a519034fc9acc (patch) | |
tree | 0fc435a0e27b66668cfd5bab3e08112ecdcecc4c /wt-status.h | |
parent | 5b2af8cac9883ab7e666d4aa30ea7fd3d1f1d4de (diff) | |
download | git-37f7a8579363a98efc48dfb6964a519034fc9acc.tar.gz |
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>
Diffstat (limited to 'wt-status.h')
-rw-r--r-- | wt-status.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/wt-status.h b/wt-status.h index 20b17cf439..cec482a56e 100644 --- a/wt-status.h +++ b/wt-status.h @@ -24,6 +24,13 @@ enum untracked_status_type { SHOW_ALL_UNTRACKED_FILES }; +/* from where does this commit originate */ +enum commit_whence { + FROM_COMMIT, /* normal */ + FROM_MERGE, /* commit came from merge */ + FROM_CHERRY_PICK /* commit came from cherry-pick */ +}; + struct wt_status_change_data { int worktree_status; int index_status; @@ -40,7 +47,7 @@ struct wt_status { const char **pathspec; int verbose; int amend; - int in_merge; + enum commit_whence whence; int nowarn; int use_color; int relative_paths; |