rebase: add rebase.updateRefs config option
The previous change added the --update-refs command-line option. For users who always want this mode, create the rebase.updateRefs config option which behaves the same way as rebase.autoSquash does with the --autosquash option. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b3b1a21d1a
commit
3113fedaeb
@ -21,6 +21,9 @@ rebase.autoStash::
|
||||
`--autostash` options of linkgit:git-rebase[1].
|
||||
Defaults to false.
|
||||
|
||||
rebase.updateRefs::
|
||||
If set to true enable `--update-refs` option by default.
|
||||
|
||||
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
|
||||
|
@ -614,6 +614,9 @@ start would be overridden by the presence of
|
||||
Automatically force-update any branches that point to commits that
|
||||
are being rebased. Any branches that are checked out in a worktree
|
||||
are not updated in this way.
|
||||
+
|
||||
If the configuration variable `rebase.updateRefs` is set, then this option
|
||||
can be used to override and disable this setting.
|
||||
|
||||
INCOMPATIBLE OPTIONS
|
||||
--------------------
|
||||
|
@ -802,6 +802,11 @@ static int rebase_config(const char *var, const char *value, void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strcmp(var, "rebase.updaterefs")) {
|
||||
opts->update_refs = git_config_bool(var, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strcmp(var, "rebase.reschedulefailedexec")) {
|
||||
opts->reschedule_failed_exec = git_config_bool(var, value);
|
||||
return 0;
|
||||
|
@ -1772,6 +1772,12 @@ test_expect_success '--update-refs adds label and update-ref commands' '
|
||||
EOF
|
||||
|
||||
test_must_fail git rebase -i --autosquash --update-refs primary >todo &&
|
||||
test_cmp expect todo &&
|
||||
|
||||
test_must_fail git -c rebase.autosquash=true \
|
||||
-c rebase.updaterefs=true \
|
||||
rebase -i primary >todo &&
|
||||
|
||||
test_cmp expect todo
|
||||
)
|
||||
'
|
||||
@ -1813,6 +1819,14 @@ test_expect_success '--update-refs adds commands with --rebase-merges' '
|
||||
--rebase-merges=rebase-cousins \
|
||||
--update-refs primary >todo &&
|
||||
|
||||
test_cmp expect todo &&
|
||||
|
||||
test_must_fail git -c rebase.autosquash=true \
|
||||
-c rebase.updaterefs=true \
|
||||
rebase -i \
|
||||
--rebase-merges=rebase-cousins \
|
||||
primary >todo &&
|
||||
|
||||
test_cmp expect todo
|
||||
)
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user