From e9011b6092411ca802907a1236d3137bf09081b6 Mon Sep 17 00:00:00 2001 From: Đoàn Trần Công Danh Date: Thu, 10 Nov 2022 23:36:22 +0700 Subject: bisect--helper: parse subcommand with OPT_SUBCOMMAND MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As of it is, we're parsing subcommand with OPT_CMDMODE, which will continue to parse more options even if the command has been found. When we're running "git bisect run" with a command that expecting a "--log" or "--no-log" arguments, or one of those "--bisect-..." arguments, bisect--helper may mistakenly think those options are bisect--helper's option. We may fix those problems by passing "--" when calling from git-bisect.sh, and skip that "--" in bisect--helper. However, it may interfere with user's "--". Let's parse subcommand with OPT_SUBCOMMAND since that API was born for this specific use-case. Reported-by: Lukáš Doktor Signed-off-by: Đoàn Trần Công Danh Signed-off-by: Taylor Blau --- git-bisect.sh | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'git-bisect.sh') diff --git a/git-bisect.sh b/git-bisect.sh index 405cf76f2a..dfce4b4f44 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -57,28 +57,11 @@ case "$#" in case "$cmd" in help) git bisect -h ;; - start) - git bisect--helper --bisect-start "$@" ;; bad|good|new|old|"$TERM_BAD"|"$TERM_GOOD") - git bisect--helper --bisect-state "$cmd" "$@" ;; - skip) - git bisect--helper --bisect-skip "$@" || exit;; - next) - # Not sure we want "next" at the UI level anymore. - git bisect--helper --bisect-next "$@" || exit ;; - visualize|view) - git bisect--helper --bisect-visualize "$@" || exit;; - reset) - git bisect--helper --bisect-reset "$@" ;; - replay) - git bisect--helper --bisect-replay "$@" || exit;; + git bisect--helper state "$cmd" "$@" ;; log) - git bisect--helper --bisect-log || exit ;; - run) - git bisect--helper --bisect-run "$@" || exit;; - terms) - git bisect--helper --bisect-terms "$@" || exit;; + git bisect--helper log || exit ;; *) - usage ;; + git bisect--helper "$cmd" "$@" ;; esac esac -- cgit v1.3-6-g1900