Re: [PATCH] Add command `git bisect state` that checks if the current bisection process has reached the first bad commit.
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Aug 16, 2013, 04:17 UTC
- Message-ID
- <CAPig+cTfdnMRT61NQoHcF9-tt-wHABKPHi8HBXijQeB-jb1VyQ@mail.gmail.com>
- In-Reply-To
- <1376606112-1712-1-git-send-email-maandree@operamail.com>
On Thu, Aug 15, 2013 at 6:35 PM, Mattias Andrée <maandree@operamail.com> wrote:
Show 28 quoted lines
> This can be used for automated bisection without a check script. > > Signed-off-by: Mattias Andrée <maandree@operamail.com> > --- > Documentation/git-bisect.txt | 13 +++++++++++++ > git-bisect.sh | 11 ++++++++++- > 2 files changed, 23 insertions(+), 1 deletion(-) > > diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt > index f986c5c..ca8c09d 100644 > --- a/Documentation/git-bisect.txt > +++ b/Documentation/git-bisect.txt > @@ -25,6 +25,7 @@ on the subcommand: > git bisect visualize > git bisect replay <logfile> > git bisect log > + git bisect state > git bisect run <cmd>... > > This command uses 'git rev-list --bisect' to help drive the > @@ -104,6 +105,18 @@ For example, `git bisect reset HEAD` will leave you on the current > bisection commit and avoid switching commits at all, while `git bisect > reset bisect/bad` will check out the first bad revision. > > +Bisect state > +~~~~~~~~~~~~~~~~ > + > +To see the bisection process has finnished, issue the following command:
s/see the/see if the/ s/finnished/finished/
Show 60 quoted lines
> +
> +------------
> +$ git bisect state
> +------------
> +
> +Exit successfully (i.e., with return code 0), if and only if the current
> +bisection has reached the first bad or possible first bad commit.
> +
> Bisect visualize
> ~~~~~~~~~~~~~~~~
>
> diff --git a/git-bisect.sh b/git-bisect.sh
> index 9f064b6..6ddda34 100755
> --- a/git-bisect.sh
> +++ b/git-bisect.sh
> @@ -1,6 +1,6 @@
> #!/bin/sh
>
> -USAGE='[help|start|bad|good|skip|next|reset|visualize|replay|log|run]'
> +USAGE='[help|start|bad|good|skip|next|reset|visualize|replay|log|run|state]'
> LONG_USAGE='git bisect help
> print this long help message.
> git bisect start [--no-checkout] [<bad> [<good>...]] [--] [<pathspec>...]
> @@ -23,6 +23,8 @@ git bisect log
> show bisect log.
> git bisect run <cmd>...
> use <cmd>... to automatically bisect.
> +git bisect state
> + check if the bisection is complete.
>
> Please use "git help bisect" to get the full man page.'
>
> @@ -491,6 +493,11 @@ bisect_log () {
> cat "$GIT_DIR/BISECT_LOG"
> }
>
> +bisect_complete_state () {
> + cat "$GIT_DIR/BISECT_LOG" | tail -n 1 | grep -E '^# (possible |)first bad commit:' > /dev/null
> + exit $?
> +}
> +
> case "$#" in
> 0)
> usage ;;
> @@ -519,6 +526,8 @@ case "$#" in
> bisect_log ;;
> run)
> bisect_run "$@" ;;
> + state)
> + bisect_complete_state ;;
> *)
> usage ;;
> esac
> --
> 1.8.3.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html