rebase: support --autosquash without -i
The rebase --autosquash option is quietly ignored when used without --interactive (apart from preventing preemptive fast-forwarding and triggering conflicts with apply backend options). Change that to support --autosquash without --interactive, by dropping its restriction to REBASE_INTERACTIVE_EXCPLICIT mode. When used this way, auto-squashing is done without opening the todo list editor. Drop the -i requirement from the --autosquash description, and amend t3415-rebase-autosquash.sh to test the option and the rebase.autoSquash config variable with and without -i. Signed-off-by: Andy Koppe <andy.koppe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
75cf39b117
commit
297be59456
@ -710,10 +710,8 @@ static int run_specific_rebase(struct rebase_options *opts)
|
||||
if (opts->type == REBASE_MERGE) {
|
||||
/* Run sequencer-based rebase */
|
||||
setenv("GIT_CHERRY_PICK_HELP", resolvemsg, 1);
|
||||
if (!(opts->flags & REBASE_INTERACTIVE_EXPLICIT)) {
|
||||
if (!(opts->flags & REBASE_INTERACTIVE_EXPLICIT))
|
||||
setenv("GIT_SEQUENCE_EDITOR", ":", 1);
|
||||
opts->autosquash = 0;
|
||||
}
|
||||
if (opts->gpg_sign_opt) {
|
||||
/* remove the leading "-S" */
|
||||
char *tmp = xstrdup(opts->gpg_sign_opt + 2);
|
||||
|
Reference in New Issue
Block a user