diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2013-10-14 11:08:47 -0700 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2013-10-14 11:08:47 -0700 |
commit | 0e3b378c3ad3d8c5b02c0ab4828ddb9da1a96e57 (patch) | |
tree | fa70609c40815095435afb5101c9e6f83cc88c64 | |
parent | Merge branch 'rj/doc-formatting-fix' (diff) | |
parent | status: show commit sha1 in "You are currently cherry-picking" message (diff) | |
download | tgif-0e3b378c3ad3d8c5b02c0ab4828ddb9da1a96e57.tar.xz |
Merge branch 'rt/cherry-pick-status'
* rt/cherry-pick-status:
status: show commit sha1 in "You are currently cherry-picking" message
status test: add missing && to <<EOF blocks
-rwxr-xr-x | t/t7512-status-help.sh | 20 | ||||
-rw-r--r-- | wt-status.c | 7 | ||||
-rw-r--r-- | wt-status.h | 1 |
3 files changed, 17 insertions, 11 deletions
diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh index 0688d58884..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 <<EOF && On branch cherry_branch -You are currently cherry-picking. +You are currently cherry-picking commit $TO_CHERRY_PICK. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --abort" to cancel the cherry-pick operation) @@ -648,11 +649,12 @@ test_expect_success 'status when cherry-picking after resolving conflicts' ' git reset --hard cherry_branch && test_when_finished "git cherry-pick --abort" && test_must_fail git cherry-pick cherry_branch_second && + TO_CHERRY_PICK=$(git rev-parse --short CHERRY_PICK_HEAD) && echo end >main.txt && git add main.txt && - cat >expected <<\EOF && + cat >expected <<EOF && On branch cherry_branch -You are currently cherry-picking. +You are currently cherry-picking commit $TO_CHERRY_PICK. (all conflicts fixed: run "git cherry-pick --continue") (use "git cherry-pick --abort" to cancel the cherry-pick operation) @@ -669,7 +671,7 @@ EOF test_expect_success 'status showing detached at and from a tag' ' test_commit atag tagging && git checkout atag && - cat >expected <<\EOF + cat >expected <<\EOF && HEAD detached at atag nothing to commit (use -u to show untracked files) EOF @@ -677,7 +679,7 @@ EOF test_i18ncmp expected actual && git reset --hard HEAD^ && - cat >expected <<\EOF + cat >expected <<\EOF && HEAD detached from atag nothing to commit (use -u to show untracked files) EOF @@ -695,7 +697,7 @@ test_expect_success 'status while reverting commit (conflicts)' ' test_commit new to-revert.txt && TO_REVERT=$(git rev-parse --short HEAD^) && test_must_fail git revert $TO_REVERT && - cat >expected <<EOF + cat >expected <<EOF && On branch master You are currently reverting commit $TO_REVERT. (fix conflicts and run "git revert --continue") @@ -716,7 +718,7 @@ EOF test_expect_success 'status while reverting commit (conflicts resolved)' ' echo reverted >to-revert.txt && git add to-revert.txt && - cat >expected <<EOF + cat >expected <<EOF && On branch master You are currently reverting commit $TO_REVERT. (all conflicts fixed: run "git revert --continue") @@ -735,7 +737,7 @@ EOF test_expect_success 'status after reverting commit' ' git revert --continue && - cat >expected <<\EOF + cat >expected <<\EOF && On branch master nothing to commit (use -u to show untracked files) EOF diff --git a/wt-status.c b/wt-status.c index cbdce72651..b4e44baa29 100644 --- a/wt-status.c +++ b/wt-status.c @@ -996,7 +996,8 @@ static void show_cherry_pick_in_progress(struct wt_status *s, struct wt_status_state *state, const char *color) { - status_printf_ln(s, color, _("You are currently cherry-picking.")); + status_printf_ln(s, color, _("You are currently cherry-picking commit %s."), + find_unique_abbrev(state->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); |