Code

cherry-pick: Suggest a better method to retain authorship
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Sun, 4 Mar 2007 13:26:05 +0000 (14:26 +0100)
committerJunio C Hamano <junkio@cox.net>
Sun, 4 Mar 2007 21:15:09 +0000 (13:15 -0800)
When a cherry-pick failed, we used to recommend setting environment
variables to retain the authorship. It is much easier, though, to use
the "-c" flag of git-commit.

Print this message also when merge-recursive fails (the code used to
exit(1) in that case, never reaching the proper failure path).

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-revert.c

index bc3cfcba0751539663e464b14f21cb808c6f311e..382fe0c6a14e01664aefae846d7a7b51beead7fd 100644 (file)
@@ -323,9 +323,8 @@ static int revert_or_cherry_pick(int argc, const char **argv)
 
        if (merge_recursive(sha1_to_hex(base->object.sha1),
                                sha1_to_hex(head), "HEAD",
-                               sha1_to_hex(next->object.sha1), oneline))
-               exit(1);
-       if (write_tree(head, 0, NULL)) {
+                               sha1_to_hex(next->object.sha1), oneline) ||
+                       write_tree(head, 0, NULL)) {
                const char *target = git_path("MERGE_MSG");
                add_to_msg("\nConflicts:\n\n");
                read_cache();
@@ -350,16 +349,10 @@ static int revert_or_cherry_pick(int argc, const char **argv)
                        "mark the corrected paths with 'git-add <paths>'\n"
                        "and commit the result.\n", me);
                if (action == CHERRY_PICK) {
-                       fprintf(stderr, "You may choose to use the following "
-                               "when making the commit:\n"
-                               "GIT_AUTHOR_NAME=\"%s\"\n",
-                               getenv("GIT_AUTHOR_NAME"));
-                       fprintf(stderr, "GIT_AUTHOR_EMAIL=\"%s\"\n",
-                               getenv("GIT_AUTHOR_EMAIL"));
-                       fprintf(stderr, "GIT_AUTHOR_DATE=\"%s\"\n"
-                               "export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL "
-                               "GIT_AUTHOR_DATE\n",
-                               getenv("GIT_AUTHOR_DATE"));
+                       fprintf(stderr, "When commiting, use the option "
+                               "'-c %s' to retain authorship and message.\n",
+                               find_unique_abbrev(commit->object.sha1,
+                                       DEFAULT_ABBREV));
                }
                exit(1);
        }