Code

Eliminate “Finished cherry-pick/revert” message
authorJonathan Nieder <jrnieder@gmail.com>
Wed, 11 Aug 2010 08:36:07 +0000 (03:36 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Aug 2010 02:12:00 +0000 (19:12 -0700)
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@debian.org>
  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@debian.org>
  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@tuxfamily.org>
Cc: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/howto/revert-branch-rebase.txt
builtin/revert.c
contrib/examples/git-revert.sh
t/t3508-cherry-pick-many-commits.sh

index 8c32da6deb05b5da700a5bd0a4281bf862b23f2c..093c656048a81e6cdc46d1aecf80fbffd97c94ea 100644 (file)
@@ -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
index e261fb23916724e9bbb3fa664f2aba13f6ada83e..c3d64af02ded50a7dcd971d879210cb82d1d26b0 100644 (file)
@@ -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);
index 49f00321b28833c24ebb78ea2104f34091d43017..60a05a8b978345224c0313edb8060f5a7c2ccb54 100755 (executable)
@@ -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
index 0f61495b2c2110eb3c11feeb07727aa43a14c8af..8e09fd0319c95cbd4d30c461f00fee5f52e27cbd 100755 (executable)
@@ -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@example.com>
+        1 files changed, 1 insertions(+), 0 deletions(-)
+       [master OBJID] third
+        Author: A U Thor <author@example.com>
+        1 files changed, 1 insertions(+), 0 deletions(-)
+       [master OBJID] fourth
+        Author: A U Thor <author@example.com>
+        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@example.com>
+        1 files changed, 1 insertions(+), 0 deletions(-)
+       Trying simple merge.
+       [master OBJID] third
+        Author: A U Thor <author@example.com>
+        1 files changed, 1 insertions(+), 0 deletions(-)
+       Trying simple merge.
+       [master OBJID] fourth
+        Author: A U Thor <author@example.com>
+        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
 '