merge: cleanup messages like commit
This change allows git-merge messages to be cleaned up with the commit.cleanup configuration or --cleanup option, just like how git-commit does it. We also give git-pull the option of --cleanup so that it can also take advantage of this change. Finally, add testing to ensure that messages are properly cleaned up. Note that some newlines that were added to the commit message were removed so that if a file were read via -F, it would be copied faithfully. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
ca04dc96d1
commit
d540b70c85
@ -24,6 +24,7 @@
|
||||
#include "lockfile.h"
|
||||
#include "wt-status.h"
|
||||
#include "commit-reach.h"
|
||||
#include "sequencer.h"
|
||||
|
||||
enum rebase_type {
|
||||
REBASE_INVALID = -1,
|
||||
@ -101,6 +102,7 @@ static char *opt_signoff;
|
||||
static char *opt_squash;
|
||||
static char *opt_commit;
|
||||
static char *opt_edit;
|
||||
static char *cleanup_arg;
|
||||
static char *opt_ff;
|
||||
static char *opt_verify_signatures;
|
||||
static int opt_autostash = -1;
|
||||
@ -168,6 +170,7 @@ static struct option pull_options[] = {
|
||||
OPT_PASSTHRU(0, "edit", &opt_edit, NULL,
|
||||
N_("edit message before committing"),
|
||||
PARSE_OPT_NOARG),
|
||||
OPT_CLEANUP(&cleanup_arg),
|
||||
OPT_PASSTHRU(0, "ff", &opt_ff, NULL,
|
||||
N_("allow fast-forward"),
|
||||
PARSE_OPT_NOARG),
|
||||
@ -644,6 +647,8 @@ static int run_merge(void)
|
||||
argv_array_push(&args, opt_commit);
|
||||
if (opt_edit)
|
||||
argv_array_push(&args, opt_edit);
|
||||
if (cleanup_arg)
|
||||
argv_array_pushf(&args, "--cleanup=%s", cleanup_arg);
|
||||
if (opt_ff)
|
||||
argv_array_push(&args, opt_ff);
|
||||
if (opt_verify_signatures)
|
||||
@ -875,6 +880,13 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
|
||||
|
||||
argc = parse_options(argc, argv, prefix, pull_options, pull_usage, 0);
|
||||
|
||||
if (cleanup_arg)
|
||||
/*
|
||||
* this only checks the validity of cleanup_arg; we don't need
|
||||
* a valid value for use_editor
|
||||
*/
|
||||
get_cleanup_mode(cleanup_arg, 0);
|
||||
|
||||
parse_repo_refspecs(argc, argv, &repo, &refspecs);
|
||||
|
||||
if (!opt_ff)
|
||||
|
Reference in New Issue
Block a user