diff options
author | Andy Koppe <andy.koppe@gmail.com> | 2023-11-14 22:43:37 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-11-16 01:18:21 +0100 |
commit | 75cf39b1178f5e6c2830bf3e81521828bb0171ff (patch) | |
tree | 0cce1b14cfa8822822e23cadaea0479f0a4d3cd2 /Documentation/git-rebase.txt | |
parent | RelNotes: minor wording fixes in 2.43.0 release notes (diff) | |
download | git-75cf39b1178f5e6c2830bf3e81521828bb0171ff.tar.xz git-75cf39b1178f5e6c2830bf3e81521828bb0171ff.zip |
rebase: fully ignore rebase.autoSquash without -i
Setting the rebase.autoSquash config variable to true implies a couple
of restrictions: it prevents preemptive fast-forwarding and it triggers
conflicts with apply backend options. However, it only actually results
in auto-squashing when combined with the --interactive (or -i) option,
due to code in run_specific_rebase() that disables auto-squashing unless
the REBASE_INTERACTIVE_EXPLICIT flag is set.
Doing autosquashing for rebase.autoSquash without --interactive would be
problematic in terms of backward compatibility, but conversely, there is
no need for the aforementioned restrictions without --interactive.
So drop the options.config_autosquash check from the conditions for
clearing allow_preemptive_ff, as the case where it is combined with
--interactive is already covered by the REBASE_INTERACTIVE_EXPLICIT
flag check above it.
Also drop the "apply options are incompatible with rebase.autoSquash"
error, because it is unreachable if it is restricted to --interactive,
as apply options already cause an error when used with --interactive.
Drop the tests for the error from t3422-rebase-incompatible-options.sh,
which has separate tests for the conflicts of --interactive with apply
options.
When neither --autosquash nor --no-autosquash are given, only set
options.autosquash to true if rebase.autosquash is combined with
--interactive.
Don't initialize options.config_autosquash to -1, as there is no need to
distinguish between rebase.autoSquash being unset or explicitly set to
false.
Finally, amend the rebase.autoSquash documentation to say it only
affects interactive mode.
Signed-off-by: Andy Koppe <andy.koppe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-rebase.txt')
0 files changed, 0 insertions, 0 deletions