When cherry-pick was written (v0.99.6~63, 2005-08-27), “git commit” was quiet, and the output from cherry-pick provided useful information about the progress of a rebase. Now next to the output from “git commit”, the cherry-pick notification is so much noise (except for the name of the picked commit). $ git cherry-pick ..topic Finished cherry-pick of 499088b. [detached HEAD 17e1ff2] Move glob module to libdpkg Author: Guillem Jover <guillem@xxxxxxxxxx> 8 files changed, 12 insertions(+), 9 deletions(-) rename {src => lib/dpkg}/glob.c (98%) rename {src => lib/dpkg}/glob.h (93%) Finished cherry-pick of ae947e1. [detached HEAD 058caa3] libdpkg: Add missing symbols to Versions script Author: Guillem Jover <guillem@xxxxxxxxxx> 1 files changed, 2 insertions(+), 0 deletions(-) $ The noise is especially troublesome when sifting through the output of a rebase or multiple cherry-pick that eventually failed. With the commit subject, it is already not hard to figure out where the commit came from. So drop the “Finished” message. Cc: Christian Couder <chriscool@xxxxxxxxxxxxx> Cc: Thomas Rast <trast@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- Documentation/howto/revert-branch-rebase.txt | 6 ---- builtin/revert.c | 2 - contrib/examples/git-revert.sh | 1 - t/t3508-cherry-pick-many-commits.sh | 42 ++++++++++++++++++------- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Documentation/howto/revert-branch-rebase.txt b/Documentation/howto/revert-branch-rebase.txt index 8c32da6..093c656 100644 --- a/Documentation/howto/revert-branch-rebase.txt +++ b/Documentation/howto/revert-branch-rebase.txt @@ -112,25 +112,19 @@ $ git tag pu-anchor pu $ git rebase master * Applying: Redo "revert" using three-way merge machinery. First trying simple merge strategy to cherry-pick. -Finished one cherry-pick. * Applying: Remove git-apply-patch-script. First trying simple merge strategy to cherry-pick. Simple cherry-pick fails; trying Automatic cherry-pick. Removing Documentation/git-apply-patch-script.txt Removing git-apply-patch-script -Finished one cherry-pick. * Applying: Document "git cherry-pick" and "git revert" First trying simple merge strategy to cherry-pick. -Finished one cherry-pick. * Applying: mailinfo and applymbox updates First trying simple merge strategy to cherry-pick. -Finished one cherry-pick. * Applying: Show commits in topo order and name all commits. First trying simple merge strategy to cherry-pick. -Finished one cherry-pick. * Applying: More documentation updates. First trying simple merge strategy to cherry-pick. -Finished one cherry-pick. ------------------------------------------------ The temporary tag 'pu-anchor' is me just being careful, in case 'git diff --git a/builtin/revert.c b/builtin/revert.c index e261fb2..c3d64af 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -521,8 +521,6 @@ static int do_pick_commit(void) } else { if (!no_commit) res = run_git_commit(defmsg); - if (!res) - fprintf(stderr, "Finished %s.\n", mebuf.buf); } strbuf_release(&mebuf); diff --git a/contrib/examples/git-revert.sh b/contrib/examples/git-revert.sh index 49f0032..60a05a8 100755 --- a/contrib/examples/git-revert.sh +++ b/contrib/examples/git-revert.sh @@ -181,7 +181,6 @@ Conflicts: esac exit 1 } -echo >&2 "Finished one $me." # If we are cherry-pick, and if the merge did not result in # hand-editing, we will hit this commit and inherit the original diff --git a/t/t3508-cherry-pick-many-commits.sh b/t/t3508-cherry-pick-many-commits.sh index 0f61495..8e09fd0 100755 --- a/t/t3508-cherry-pick-many-commits.sh +++ b/t/t3508-cherry-pick-many-commits.sh @@ -35,36 +35,54 @@ test_expect_success setup ' ' test_expect_success 'cherry-pick first..fourth works' ' - cat <<-EOF >expected && - Finished cherry-pick of commit $(git rev-parse --short second). - Finished cherry-pick of commit $(git rev-parse --short third). - Finished cherry-pick of commit $(git rev-parse --short fourth). + cat <<-\EOF >expected && + [master OBJID] second + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) + [master OBJID] third + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) + [master OBJID] fourth + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) EOF git checkout -f master && git reset --hard first && test_tick && - git cherry-pick first..fourth 2>actual && + git cherry-pick first..fourth >actual && git diff --quiet other && git diff --quiet HEAD other && - test_cmp expected actual && + + sed -e "s/$_x05[0-9a-f][0-9a-f]/OBJID/" <actual >actual.fuzzy && + test_cmp expected actual.fuzzy && check_head_differs_from fourth ' test_expect_success 'cherry-pick --strategy resolve first..fourth works' ' - cat <<-EOF >expected && - Finished cherry-pick of commit $(git rev-parse --short second) with strategy resolve. - Finished cherry-pick of commit $(git rev-parse --short third) with strategy resolve. - Finished cherry-pick of commit $(git rev-parse --short fourth) with strategy resolve. + cat <<-\EOF >expected && + Trying simple merge. + [master OBJID] second + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) + Trying simple merge. + [master OBJID] third + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) + Trying simple merge. + [master OBJID] fourth + Author: A U Thor <author@xxxxxxxxxxx> + 1 files changed, 1 insertions(+), 0 deletions(-) EOF git checkout -f master && git reset --hard first && test_tick && - git cherry-pick --strategy resolve first..fourth 2>actual && + git cherry-pick --strategy resolve first..fourth >actual && git diff --quiet other && git diff --quiet HEAD other && - test_cmp expected actual && + sed -e "s/$_x05[0-9a-f][0-9a-f]/OBJID/" <actual >actual.fuzzy && + test_cmp expected actual.fuzzy && check_head_differs_from fourth ' -- 1.7.2.1.544.ga752d.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html