mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Elijah Newren](/assets/img/avatar_default.png)
Two related changes, with separate rationale for each: Rename the 'interactive' backend to 'merge' because: * 'interactive' as a name caused confusion; this backend has been used for many kinds of non-interactive rebases, and will probably be used in the future for more non-interactive rebases than interactive ones given that we are making it the default. * 'interactive' is not the underlying strategy; merging is. * the directory where state is stored is not called .git/rebase-interactive but .git/rebase-merge. Rename the 'am' backend to 'apply' because: * Few users are familiar with git-am as a reference point. * Related to the above, the name 'am' makes sentences in the documentation harder for users to read and comprehend (they may read it as the verb from "I am"); avoiding this difficult places a large burden on anyone writing documentation about this backend to be very careful with quoting and sentence structure and often forces annoying redundancy to try to avoid such problems. * Users stumble over pronunciation ("am" as in "I am a person not a backend" or "am" as in "the first and thirteenth letters in the alphabet in order are "A-M"); this may drive confusion when one user tries to explain to another what they are doing. * While "am" is the tool driving this backend, the tool driving git-am is git-apply, and since we are driving towards lower-level tools for the naming of the merge backend we may as well do so here too. * The directory where state is stored has never been called .git/rebase-am, it was always called .git/rebase-apply. For all the reasons listed above: * Modify the documentation to refer to the backends with the new names * Provide a brief note in the documentation connecting the new names to the old names in case users run across the old names anywhere (e.g. in old release notes or older versions of the documentation) * Change the (new) --am command line flag to --apply * Rename some enums, variables, and functions to reinforce the new backend names for us as well. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
71 lines
2.6 KiB
Plaintext
71 lines
2.6 KiB
Plaintext
rebase.useBuiltin::
|
|
Unused configuration variable. Used in Git versions 2.20 and
|
|
2.21 as an escape hatch to enable the legacy shellscript
|
|
implementation of rebase. Now the built-in rewrite of it in C
|
|
is always used. Setting this will emit a warning, to alert any
|
|
remaining users that setting this now does nothing.
|
|
|
|
rebase.backend::
|
|
Default backend to use for rebasing. Possible choices are
|
|
'apply' or 'merge'. In the future, if the merge backend gains
|
|
all remaining capabilities of the apply backend, this setting
|
|
may become unused.
|
|
|
|
rebase.stat::
|
|
Whether to show a diffstat of what changed upstream since the last
|
|
rebase. False by default.
|
|
|
|
rebase.autoSquash::
|
|
If set to true enable `--autosquash` option by default.
|
|
|
|
rebase.autoStash::
|
|
When set to true, automatically create a temporary stash entry
|
|
before the operation begins, and apply it after the operation
|
|
ends. This means that you can run rebase on a dirty worktree.
|
|
However, use with care: the final stash application after a
|
|
successful rebase might result in non-trivial conflicts.
|
|
This option can be overridden by the `--no-autostash` and
|
|
`--autostash` options of linkgit:git-rebase[1].
|
|
Defaults to false.
|
|
|
|
rebase.missingCommitsCheck::
|
|
If set to "warn", git rebase -i will print a warning if some
|
|
commits are removed (e.g. a line was deleted), however the
|
|
rebase will still proceed. If set to "error", it will print
|
|
the previous warning and stop the rebase, 'git rebase
|
|
--edit-todo' can then be used to correct the error. If set to
|
|
"ignore", no checking is done.
|
|
To drop a commit without warning or error, use the `drop`
|
|
command in the todo list.
|
|
Defaults to "ignore".
|
|
|
|
rebase.instructionFormat::
|
|
A format string, as specified in linkgit:git-log[1], to be used for the
|
|
todo list during an interactive rebase. The format will
|
|
automatically have the long commit hash prepended to the format.
|
|
|
|
rebase.abbreviateCommands::
|
|
If set to true, `git rebase` will use abbreviated command names in the
|
|
todo list resulting in something like this:
|
|
+
|
|
-------------------------------------------
|
|
p deadbee The oneline of the commit
|
|
p fa1afe1 The oneline of the next commit
|
|
...
|
|
-------------------------------------------
|
|
+
|
|
instead of:
|
|
+
|
|
-------------------------------------------
|
|
pick deadbee The oneline of the commit
|
|
pick fa1afe1 The oneline of the next commit
|
|
...
|
|
-------------------------------------------
|
|
+
|
|
Defaults to false.
|
|
|
|
rebase.rescheduleFailedExec::
|
|
Automatically reschedule `exec` commands that failed. This only makes
|
|
sense in interactive mode (or when an `--exec` option was provided).
|
|
This is the same as specifying the `--reschedule-failed-exec` option.
|