Merge branch 'sb/rebase-x'
"git rebase -x" can be used without passing "-i" option. * sb/rebase-x: t3404: cleanup double empty lines between tests rebase: decouple --exec from --interactive
This commit is contained in:
commit
2c657edce7
@ -391,9 +391,6 @@ idea unless you know what you are doing (see BUGS below).
|
||||
final history. <cmd> will be interpreted as one or more shell
|
||||
commands.
|
||||
+
|
||||
This option can only be used with the `--interactive` option
|
||||
(see INTERACTIVE MODE below).
|
||||
+
|
||||
You may execute several commands by either using one instance of `--exec`
|
||||
with several commands:
|
||||
+
|
||||
@ -406,6 +403,9 @@ or by giving more than one `--exec`:
|
||||
If `--autosquash` is used, "exec" lines will not be appended for
|
||||
the intermediate commits, and will only appear at the end of each
|
||||
squash/fixup series.
|
||||
+
|
||||
This uses the `--interactive` machinery internally, but it can be run
|
||||
without an explicit `--interactive`.
|
||||
|
||||
--root::
|
||||
Rebase all commits reachable from <branch>, instead of
|
||||
|
@ -248,6 +248,7 @@ do
|
||||
;;
|
||||
--exec=*)
|
||||
cmd="${cmd}exec ${1#--exec=}${LF}"
|
||||
test -z "$interactive_rebase" && interactive_rebase=implied
|
||||
;;
|
||||
--interactive)
|
||||
interactive_rebase=explicit
|
||||
@ -348,12 +349,6 @@ do
|
||||
done
|
||||
test $# -gt 2 && usage
|
||||
|
||||
if test -n "$cmd" &&
|
||||
test "$interactive_rebase" != explicit
|
||||
then
|
||||
die "$(gettext "The --exec option must be used with the --interactive option")"
|
||||
fi
|
||||
|
||||
if test -n "$action"
|
||||
then
|
||||
test -z "$in_progress" && die "$(gettext "No rebase in progress?")"
|
||||
|
@ -771,7 +771,6 @@ test_expect_success 'rebase-i history with funny messages' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'prepare for rebase -i --exec' '
|
||||
git checkout master &&
|
||||
git checkout -b execute &&
|
||||
@ -780,7 +779,6 @@ test_expect_success 'prepare for rebase -i --exec' '
|
||||
test_commit three_exec main.txt three_exec
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'running "git rebase -i --exec git show HEAD"' '
|
||||
set_fake_editor &&
|
||||
git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
|
||||
@ -793,7 +791,6 @@ test_expect_success 'running "git rebase -i --exec git show HEAD"' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'running "git rebase --exec git show HEAD -i"' '
|
||||
git reset --hard execute &&
|
||||
set_fake_editor &&
|
||||
@ -807,7 +804,6 @@ test_expect_success 'running "git rebase --exec git show HEAD -i"' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'running "git rebase -ix git show HEAD"' '
|
||||
git reset --hard execute &&
|
||||
set_fake_editor &&
|
||||
@ -835,7 +831,6 @@ test_expect_success 'rebase -ix with several <CMD>' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'rebase -ix with several instances of --exec' '
|
||||
git reset --hard execute &&
|
||||
set_fake_editor &&
|
||||
@ -850,7 +845,6 @@ test_expect_success 'rebase -ix with several instances of --exec' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'rebase -ix with --autosquash' '
|
||||
git reset --hard execute &&
|
||||
git checkout -b autosquash &&
|
||||
@ -876,16 +870,15 @@ test_expect_success 'rebase -ix with --autosquash' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'rebase --exec without -i shows error message' '
|
||||
test_expect_success 'rebase --exec works without -i ' '
|
||||
git reset --hard execute &&
|
||||
set_fake_editor &&
|
||||
test_must_fail git rebase --exec "git show HEAD" HEAD~2 2>actual &&
|
||||
echo "The --exec option must be used with the --interactive option" >expected &&
|
||||
test_i18ncmp expected actual
|
||||
rm -rf exec_output &&
|
||||
EDITOR="echo >invoked_editor" git rebase --exec "echo a line >>exec_output" HEAD~2 2>actual &&
|
||||
test_i18ngrep "Successfully rebased and updated" actual &&
|
||||
test_line_count = 2 exec_output &&
|
||||
test_path_is_missing invoked_editor
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'rebase -i --exec without <CMD>' '
|
||||
git reset --hard execute &&
|
||||
set_fake_editor &&
|
||||
|
Loading…
Reference in New Issue
Block a user