diff options
author | Michael J Gruber <git@drmicha.warpmail.net> | 2015-03-06 14:55:32 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-03-06 11:11:39 -0800 |
commit | 17d65f03e1d2d1678d9960a4f71e4caccacf500f (patch) | |
tree | f982ab3cf69fccbbc2f6b8686543c5ee2fdd19aa /sequencer.c | |
parent | 282616c72d1d08a77ca4fe1186cb708c38408d87 (diff) | |
download | git-17d65f03e1d2d1678d9960a4f71e4caccacf500f.tar.gz git-17d65f03e1d2d1678d9960a4f71e4caccacf500f.tar.xz |
sequencer: preserve commit messages
sequencer calls "commit" with default options, which implies
"--cleanup=default" unless the user specified something else in their
config. This leads to cherry-picked commits getting a cleaned up commit
message, which is usually not an intended side-effect.
Make the sequencer use "--cleanup=verbatim" so that it preserves commit
messages independent of the default, unless the user has set config for "commit"
or the message is amended with -s or -x.
Reported-by: Christoph Anton Mitterer <calestyo@scientia.net>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sequencer.c b/sequencer.c index bbaddcb05..8b735cdd0 100644 --- a/sequencer.c +++ b/sequencer.c @@ -358,6 +358,7 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts, struct argv_array array; int rc; char *gpg_sign; + const char *value; argv_array_init(&array); argv_array_push(&array, "commit"); @@ -374,6 +375,10 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts, if (!opts->edit) { argv_array_push(&array, "-F"); argv_array_push(&array, defmsg); + if (!opts->signoff && + !opts->record_origin && + git_config_get_value("commit.cleanup", &value)) + argv_array_push(&array, "--cleanup=verbatim"); } if (allow_empty) |