From bffd8098705ffcfeb267951dcdd4e49dd188a7bb Mon Sep 17 00:00:00 2001 From: Ralf Thielow Date: Fri, 11 Oct 2013 17:58:37 +0200 Subject: [PATCH] status: show commit sha1 in "You are currently cherry-picking" message Especially helpful when cherry-picking multiple commits. Signed-off-by: Ralf Thielow Acked-by: Matthieu Moy Signed-off-by: Jonathan Nieder --- t/t7512-status-help.sh | 10 ++++++---- wt-status.c | 7 +++++-- wt-status.h | 1 + 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh index 9905d43c74..3cec57af1e 100755 --- a/t/t7512-status-help.sh +++ b/t/t7512-status-help.sh @@ -626,9 +626,10 @@ test_expect_success 'prepare for cherry-pick conflicts' ' test_expect_success 'status when cherry-picking before resolving conflicts' ' test_when_finished "git cherry-pick --abort" && test_must_fail git cherry-pick cherry_branch_second && - cat >expected <<\EOF && + TO_CHERRY_PICK=$(git rev-parse --short CHERRY_PICK_HEAD) && + cat >expected <main.txt && git add main.txt && - cat >expected <<\EOF && + cat >expected <cherry_pick_head_sha1, DEFAULT_ABBREV)); if (s->hints) { if (has_unmerged(s)) status_printf_ln(s, color, @@ -1169,8 +1170,10 @@ void wt_status_get_state(struct wt_status_state *state, state->rebase_in_progress = 1; state->branch = read_and_strip_branch("rebase-merge/head-name"); state->onto = read_and_strip_branch("rebase-merge/onto"); - } else if (!stat(git_path("CHERRY_PICK_HEAD"), &st)) { + } else if (!stat(git_path("CHERRY_PICK_HEAD"), &st) && + !get_sha1("CHERRY_PICK_HEAD", sha1)) { state->cherry_pick_in_progress = 1; + hashcpy(state->cherry_pick_head_sha1, sha1); } if (!stat(git_path("BISECT_LOG"), &st)) { state->bisect_in_progress = 1; diff --git a/wt-status.h b/wt-status.h index 9341c569a5..6c29e6f5e5 100644 --- a/wt-status.h +++ b/wt-status.h @@ -88,6 +88,7 @@ struct wt_status_state { char *detached_from; unsigned char detached_sha1[20]; unsigned char revert_head_sha1[20]; + unsigned char cherry_pick_head_sha1[20]; }; void wt_status_prepare(struct wt_status *s); -- 2.11.4.GIT