In the later steps of preparing a patch series I do not want to edit the patches any more, but just make sure the test suite passes after each patch. Currently I would run EDITOR=true git rebase -i <anchor> -x "make test" In an ideal world the command would be simpler and just be git rebase <anchor> -x "make test" to run the test for each commit I am about to send out for review. This patch enables the short line. While at it, remove the double empty lines in t3404. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- Junio, This is a slightly different approach. -x doesn't imply -i any more, but just the internal code does that. The user will see --exec working just fine without the -i option given. Thanks, Stefan git-rebase.sh | 4 +++- t/t3404-rebase-interactive.sh | 18 +++++------------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index cf60c43..232484a 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -351,7 +351,9 @@ 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")" + interactive_rebase=implicit + GIT_EDITOR=true + export GIT_EDITOR fi if test -n "$action" diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 544f9ad..2064d88 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -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,14 @@ 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 + git rebase --exec true HEAD~2 2>actual2 >actual1 && + echo "Successfully rebased and updated refs/heads/autosquash_expected." >expected && + test_i18ncmp expected actual2 && + test_line_count = 2 actual1 ' - test_expect_success 'rebase -i --exec without <CMD>' ' git reset --hard execute && set_fake_editor && -- 2.8.0.rc3.1.ge1ac87c.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html