1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-31 06:17:56 +01:00
git/Documentation/config/rebase.txt
Ævar Arnfjörð Bjarmason d8d0a546f0 rebase doc: document rebase.useBuiltin
The rebase.useBuiltin variable introduced in 55071ea248 ("rebase:
start implementing it as a builtin", 2018-08-07) was turned on by
default in 5541bd5b8f ("rebase: default to using the builtin rebase",
2018-08-08), but had no documentation.

Let's document it so that users who run into any stability issues with
the C rewrite know there's an escape hatch[1], and make it clear that
needing to turn off builtin rebase means you've found a bug in git.

1. https://public-inbox.org/git/87y39w1wc2.fsf@evledraar.gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-16 19:02:54 +09:00

66 lines
2.4 KiB
Text

rebase.useBuiltin::
Set to `false` to use the legacy shellscript implementation of
linkgit:git-rebase[1]. Is `true` by default, which means use
the built-in rewrite of it in C.
+
The C rewrite is first included with Git version 2.20. This option
serves an an escape hatch to re-enable the legacy version in case any
bugs are found in the rewrite. This option and the shellscript version
of linkgit:git-rebase[1] will be removed in some future release.
+
If you find some reason to set this option to `false` other than
one-off testing you should report the behavior difference as a bug in
git.
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.