summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ee831f7)
raw | patch | inline | side by side (parent: ee831f7)
author | Christian Couder <chriscool@tuxfamily.org> | |
Wed, 7 May 2008 21:54:28 +0000 (23:54 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 9 May 2008 00:50:00 +0000 (17:50 -0700) |
Before this patch no error was printed when "git rev-list --bisect-vars"
failed. This can happen when bad and good revs are mistaken.
This patch prints an error message on stderr that describe the likely
failure cause.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
failed. This can happen when bad and good revs are mistaken.
This patch prints an error message on stderr that describe the likely
failure cause.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-bisect.sh | patch | blob | history | |
t/t6030-bisect-porcelain.sh | patch | blob | history |
diff --git a/git-bisect.sh b/git-bisect.sh
index 54bfd71dad0c2f587de68742945ca52909df0c95..b1800edaf713f972131431fcd26b5e7f64f089fc 100755 (executable)
--- a/git-bisect.sh
+++ b/git-bisect.sh
bisect_next_check && bisect_next || :
}
+eval_rev_list() {
+ _eval="$1"
+
+ eval $_eval
+ res=$?
+
+ if [ $res -ne 0 ]; then
+ echo >&2 "'git rev-list --bisect-vars' failed:"
+ echo >&2 "maybe you mistake good and bad revs?"
+ exit $res
+ fi
+
+ return $res
+}
+
filter_skipped() {
_eval="$1"
_skip="$2"
if [ -z "$_skip" ]; then
- eval $_eval
+ eval_rev_list "$_eval"
return
fi
# Let's parse the output of:
# "git rev-list --bisect-vars --bisect-all ..."
- eval $_eval | while read hash line
+ eval_rev_list "$_eval" | while read hash line
do
case "$VARS,$FOUND,$TRIED,$hash" in
# We display some vars.
index 05f1e15c34cab66743d48b365479a000d641b23b..933f5679831b1df3baac8164094b204a09fd7f16 100755 (executable)
git branch -d new-bisect
'
+test_expect_success 'bisect errors out if bad and good are mistaken' '
+ git bisect reset &&
+ test_must_fail git bisect start $HASH2 $HASH4 2> rev_list_error &&
+ grep "mistake good and bad" rev_list_error &&
+ git bisect reset
+'
+
#
#
test_done