summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorLibravatar Phillip Wood <phillip.wood@dunelm.org.uk>2018-03-20 11:10:57 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-03-29 11:09:03 -0700
commitda27a6fbd50861149b32cfd1f9e5c36a935c575a (patch)
tree4a98aa0527d270cd9b096ef18e8db2931daf7c68 /git-rebase.sh
parentrebase -p: error out if --signoff is given (diff)
downloadtgif-da27a6fbd50861149b32cfd1f9e5c36a935c575a.tar.xz
rebase --keep-empty: always use interactive rebase
rebase --merge accepts --keep-empty but just ignores it, by using an implicit interactive rebase the user still gets the rename detection of a merge based rebase but with with --keep-empty support. If rebase --keep-empty without --interactive or --merge stops for the user to resolve merge conflicts then 'git rebase --continue' will fail. This is because it uses a different code path that does not create $git_dir/rebase-apply. As rebase --keep-empty was implemented using cherry-pick it has never supported the am options and now that interactive rebases support --signoff there is no loss of functionality by using an implicit interactive rebase. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index e65b65acb4..ee8c77ad99 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -452,6 +452,11 @@ then
test -z "$interactive_rebase" && interactive_rebase=implied
fi
+if test -n "$keep_empty"
+then
+ test -z "$interactive_rebase" && interactive_rebase=implied
+fi
+
if test -n "$interactive_rebase"
then
type=interactive