From: Christian Couder <chriscool@tuxfamily.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Sam Vilain <sam@vilain.net>,
"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>
Subject: [PATCH 3/4] bisect: add "--ratio=<ratio>" option to "git bisect skip"
Date: Tue, 02 Jun 2009 22:16:32 +0200 [thread overview]
Message-ID: <20090602201634.3630.25125.chriscool@tuxfamily.org> (raw)
In-Reply-To: <20090602200731.3630.33652.chriscool@tuxfamily.org>
This option will be passed to "git bisect--helper" using its
"--skip-ratio" option.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
git-bisect.sh | 37 ++++++++++++++++++++++++-------------
1 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/git-bisect.sh b/git-bisect.sh
index 8969553..176b21d 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -9,7 +9,7 @@ git bisect bad [<rev>]
mark <rev> a known-bad revision.
git bisect good [<rev>...]
mark <rev>... known-good revisions.
-git bisect skip [(<rev>|<range>)...]
+git bisect skip [--ratio=<ratio>] [(<rev>|<range>)...]
mark <rev>... untestable revisions.
git bisect next
find next bisection to test and check it out.
@@ -178,18 +178,27 @@ check_expected_revs() {
}
bisect_skip() {
- all=''
- for arg in "$@"
+ all=''
+ unset BISECT_SKIP_RATIO
+ while [ $# -gt 0 ]
do
- case "$arg" in
- *..*)
- revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;;
- *)
- revs=$(git rev-parse --sq-quote "$arg") ;;
- esac
- all="$all $revs"
- done
- eval bisect_state 'skip' $all
+ arg="$1"
+ case "$arg" in
+ --ratio)
+ shift; BISECT_SKIP_RATIO="$1" ;;
+ --ratio=*)
+ BISECT_SKIP_RATIO=$(expr "$arg" : '--ratio=\(.*\)') ;;
+ *..*)
+ revs=$(git rev-list "$arg") ||
+ die "Bad rev input: $arg"
+ all="$all $revs" ;;
+ *)
+ revs=$(git rev-parse --sq-quote "$arg")
+ all="$all $revs" ;;
+ esac
+ shift
+ done
+ eval bisect_state 'skip' $all
}
bisect_state() {
@@ -270,8 +279,10 @@ bisect_next() {
bisect_autostart
bisect_next_check good
+ skip_ratio="${BISECT_SKIP_RATIO+--skip-ratio=$BISECT_SKIP_RATIO}"
+
# Perform all bisection computation, display and checkout
- git bisect--helper --next-all
+ git bisect--helper --next-all $skip_ratio
res=$?
# Check if we should exit because bisection is finished
--
1.6.3.GIT
next prev parent reply other threads:[~2009-06-02 20:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-02 20:16 [PATCH 0/4] make it possible to skip away from broken commits Christian Couder
2009-06-02 20:16 ` [PATCH 1/4] bisect: add parameters to "filter_skipped" Christian Couder
2009-06-02 20:16 ` [PATCH 2/4] bisect: use the skip ratio to choose a commit away from a skipped commit Christian Couder
2009-06-02 20:16 ` Christian Couder [this message]
2009-06-02 20:16 ` [PATCH 4/4] t6030: add test case for "git bisect skip --ratio=x/y" Christian Couder
2009-06-02 20:53 ` [PATCH 0/4] make it possible to skip away from broken commits Junio C Hamano
2009-06-03 3:14 ` H. Peter Anvin
2009-06-03 6:32 ` Christian Couder
2009-06-03 7:10 ` Junio C Hamano
2009-06-03 6:29 ` Christian Couder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090602201634.3630.25125.chriscool@tuxfamily.org \
--to=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hpa@zytor.com \
--cc=mingo@elte.hu \
--cc=sam@vilain.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).