aboutsummaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorMartin von Zweigbergk <martin.von.zweigbergk@gmail.com>2011-02-06 13:43:36 -0500
committerJunio C Hamano <gitster@pobox.com>2011-02-10 14:08:08 -0800
commit95135b06fe5f44f1efaeac729021a350b52652e5 (patch)
tree4f8540ff5b25d4e5333758ff36c40f2cdae94f36 /git-rebase.sh
parent342623224823cbadf61370a43df6941fba477b59 (diff)
downloadgit-95135b06fe5f44f1efaeac729021a350b52652e5.tar.gz
git-95135b06fe5f44f1efaeac729021a350b52652e5.tar.xz
rebase: stricter check of standalone sub command
The sub commands '--continue', '--skip' or '--abort' may only be used standalone according to the documentation. Other options following the sub command are currently not accepted, but options preceeding them are. For example, 'git rebase --continue -v' is not accepted, while 'git rebase -v --continue' is. Tighten up the check and allow no other options when one of these sub commands are used. Only check that it is standalone for non-interactive rebase for now. Once the command line processing for interactive rebase has been replaced by the command line processing in git-rebase.sh, this check will also apply to interactive rebase. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index e3fd001f7..d689aad38 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -229,6 +229,7 @@ then
fi
test -n "$type" && in_progress=t
+total_argc=$#
while test $# != 0
do
case "$1" in
@@ -239,9 +240,8 @@ do
OK_TO_SKIP_PRE_REBASE=
;;
--continue|--skip|--abort)
+ test $total_argc -eq 1 || usage
action=${1##--}
- shift
- break
;;
--onto)
test 2 -le "$#" || usage