summaryrefslogtreecommitdiff
path: root/git-bisect.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-01-12 11:38:14 -0800
committerJunio C Hamano <gitster@pobox.com>2015-01-12 11:38:19 -0800
commit42618bc34ee45d1f2ac3c68c8d63e12b83ab563a (patch)
treeabd4d25e288e9068d6ea1e153cc4e29c220adc63 /git-bisect.sh
parent1e6f5b22ad318446500fbd3b94b733eddd5b6414 (diff)
parent07913d5ae15d7f583a506ce991a6b88761e600e2 (diff)
Merge branch 'cc/bisect-rev-parsing'
The logic in "git bisect bad HEAD" etc. to avoid forcing the test of the common ancestor of bad and good commits was broken. * cc/bisect-rev-parsing: bisect: add test to check that revs are properly parsed bisect: parse revs before passing them to check_expected_revs()
Diffstat (limited to 'git-bisect.sh')
-rwxr-xr-xgit-bisect.sh11
1 files changed, 7 insertions, 4 deletions
diff --git a/git-bisect.sh b/git-bisect.sh
index 6cda2b5a60..2fc07acb0f 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -237,15 +237,18 @@ bisect_state() {
check_expected_revs "$rev" ;;
2,bad|*,good|*,skip)
shift
- eval=''
+ hash_list=''
for rev in "$@"
do
sha=$(git rev-parse --verify "$rev^{commit}") ||
die "$(eval_gettext "Bad rev input: \$rev")"
- eval="$eval bisect_write '$state' '$sha'; "
+ hash_list="$hash_list $sha"
done
- eval "$eval"
- check_expected_revs "$@" ;;
+ for rev in $hash_list
+ do
+ bisect_write "$state" "$rev"
+ done
+ check_expected_revs $hash_list ;;
*,bad)
die "$(gettext "'git bisect bad' can take only one argument.")" ;;
*)