Merge branch 'zh/cherry-pick-advice'
The advice message that "git cherry-pick" gives when it asks conflicted replay of a commit to be resolved by the end user has been updated. * zh/cherry-pick-advice: cherry-pick: use better advice message
This commit is contained in:
commit
173368d73d
20
sequencer.c
20
sequencer.c
@ -403,7 +403,7 @@ static void print_advice(struct repository *r, int show_hint,
|
||||
char *msg = getenv("GIT_CHERRY_PICK_HELP");
|
||||
|
||||
if (msg) {
|
||||
fprintf(stderr, "%s\n", msg);
|
||||
advise("%s\n", msg);
|
||||
/*
|
||||
* A conflict has occurred but the porcelain
|
||||
* (typically rebase --interactive) wants to take care
|
||||
@ -418,10 +418,22 @@ static void print_advice(struct repository *r, int show_hint,
|
||||
if (opts->no_commit)
|
||||
advise(_("after resolving the conflicts, mark the corrected paths\n"
|
||||
"with 'git add <paths>' or 'git rm <paths>'"));
|
||||
else if (opts->action == REPLAY_PICK)
|
||||
advise(_("After resolving the conflicts, mark them with\n"
|
||||
"\"git add/rm <pathspec>\", then run\n"
|
||||
"\"git cherry-pick --continue\".\n"
|
||||
"You can instead skip this commit with \"git cherry-pick --skip\".\n"
|
||||
"To abort and get back to the state before \"git cherry-pick\",\n"
|
||||
"run \"git cherry-pick --abort\"."));
|
||||
else if (opts->action == REPLAY_REVERT)
|
||||
advise(_("After resolving the conflicts, mark them with\n"
|
||||
"\"git add/rm <pathspec>\", then run\n"
|
||||
"\"git revert --continue\".\n"
|
||||
"You can instead skip this commit with \"git revert --skip\".\n"
|
||||
"To abort and get back to the state before \"git revert\",\n"
|
||||
"run \"git revert --abort\"."));
|
||||
else
|
||||
advise(_("after resolving the conflicts, mark the corrected paths\n"
|
||||
"with 'git add <paths>' or 'git rm <paths>'\n"
|
||||
"and commit the result with 'git commit'"));
|
||||
BUG("unexpected pick action in print_advice()");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -158,4 +158,20 @@ test_expect_success 'cherry-pick works with dirty renamed file' '
|
||||
grep -q "^modified$" renamed
|
||||
'
|
||||
|
||||
test_expect_success 'advice from failed revert' '
|
||||
test_commit --no-tag "add dream" dream dream &&
|
||||
dream_oid=$(git rev-parse --short HEAD) &&
|
||||
cat <<-EOF >expected &&
|
||||
error: could not revert $dream_oid... add dream
|
||||
hint: After resolving the conflicts, mark them with
|
||||
hint: "git add/rm <pathspec>", then run
|
||||
hint: "git revert --continue".
|
||||
hint: You can instead skip this commit with "git revert --skip".
|
||||
hint: To abort and get back to the state before "git revert",
|
||||
hint: run "git revert --abort".
|
||||
EOF
|
||||
test_commit --append --no-tag "double-add dream" dream dream &&
|
||||
test_must_fail git revert HEAD^ 2>actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
test_done
|
||||
|
@ -47,20 +47,23 @@ test_expect_success 'failed cherry-pick does not advance HEAD' '
|
||||
test "$head" = "$newhead"
|
||||
'
|
||||
|
||||
test_expect_success 'advice from failed cherry-pick' "
|
||||
test_expect_success 'advice from failed cherry-pick' '
|
||||
pristine_detach initial &&
|
||||
|
||||
picked=\$(git rev-parse --short picked) &&
|
||||
picked=$(git rev-parse --short picked) &&
|
||||
cat <<-EOF >expected &&
|
||||
error: could not apply \$picked... picked
|
||||
hint: after resolving the conflicts, mark the corrected paths
|
||||
hint: with 'git add <paths>' or 'git rm <paths>'
|
||||
hint: and commit the result with 'git commit'
|
||||
error: could not apply $picked... picked
|
||||
hint: After resolving the conflicts, mark them with
|
||||
hint: "git add/rm <pathspec>", then run
|
||||
hint: "git cherry-pick --continue".
|
||||
hint: You can instead skip this commit with "git cherry-pick --skip".
|
||||
hint: To abort and get back to the state before "git cherry-pick",
|
||||
hint: run "git cherry-pick --abort".
|
||||
EOF
|
||||
test_must_fail git cherry-pick picked 2>actual &&
|
||||
|
||||
test_cmp expected actual
|
||||
"
|
||||
'
|
||||
|
||||
test_expect_success 'advice from failed cherry-pick --no-commit' "
|
||||
pristine_detach initial &&
|
||||
|
Loading…
Reference in New Issue
Block a user