legacy-rebase: backport -C<n> and --whitespace=<option> checks
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Tue, 20 Nov 2018 20:02:01 +0000 (12:02 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 21 Nov 2018 04:40:46 +0000 (13:40 +0900)
Since 04519d720114 (rebase: validate -C<n> and --whitespace=<mode>
parameters early, 2018-11-14), the built-in rebase validates the -C and
--whitespace arguments early. As this commit also introduced a
regression test for this, and as a later commit introduced the
GIT_TEST_REBASE_USE_BUILTIN mode to run tests, we now have a
"regression" in the scripted version of `git rebase` on our hands.

Backport the validation to fix this.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-legacy-rebase.sh
index 75a08b2683e76e6832475bc91e4d4f38b3d3bc3c..b97ffdc9dd550d8802039d672623f2ba3e7a5f0c 100755 (executable)
@@ -337,6 +337,11 @@ do
                fix|strip)
                        force_rebase=t
                        ;;
+               warn|nowarn|error|error-all)
+                       ;; # okay, known whitespace option
+               *)
+                       die "fatal: Invalid whitespace option: '${1#*=}'"
+                       ;;
                esac
                ;;
        --ignore-whitespace)
@@ -352,6 +357,9 @@ do
                git_am_opt="$git_am_opt $1"
                force_rebase=t
                ;;
+       -C*[!0-9]*)
+               die "fatal: switch \`C' expects a numerical value"
+               ;;
        -C*)
                git_am_opt="$git_am_opt $1"
                ;;