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);