summaryrefslogtreecommitdiff
path: root/git-bisect.sh
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2008-05-07 23:54:28 +0200
committerJunio C Hamano <gitster@pobox.com>2008-05-08 17:50:00 -0700
commit42ba5ee776c00369ca72b76537ae622611a7b545 (patch)
tree2ea75a8c647237a592387e5b4e6aec2ab3904863 /git-bisect.sh
parentee831f7ddfc40e9144208c93e24d20ff0ad69194 (diff)
downloadgit-42ba5ee776c00369ca72b76537ae622611a7b545.tar.gz
bisect: print an error message when "git rev-list --bisect-vars" fails
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>
Diffstat (limited to 'git-bisect.sh')
-rwxr-xr-xgit-bisect.sh19
1 files changed, 17 insertions, 2 deletions
diff --git a/git-bisect.sh b/git-bisect.sh
index 54bfd71dad..b1800edaf7 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -220,18 +220,33 @@ bisect_auto_next() {
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.