Code

bisect: fix bad rev checking in "git bisect good"
authorChristian Couder <chriscool@tuxfamily.org>
Sat, 12 Apr 2008 05:53:59 +0000 (07:53 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 12 Apr 2008 06:54:45 +0000 (23:54 -0700)
commite3389075c6160c46cf0e2a443deab1966628ed57
tree6bde0483f777a8abcc86831997f661c599517adb
parenta710522bfc9ae6e27ce4bea573d1d223af6a6f8e
bisect: fix bad rev checking in "git bisect good"

It seems that "git bisect good" and "git bisect skip" have never
properly checked arguments that have been passed to them. As soon
as one of them can be parsed as a SHA1, no error or warning would
be given.

This is because 'git rev-parse --revs-only --no-flags "$@"' always
"exit 0" and outputs all the SHA1 it can found from parsing "$@".

This patch fix this by using, for each "bisect good" argument, the
same logic as for the "bisect bad" argument.

While at it, this patch teaches "bisect bad" to give a meaningfull
error message when it is passed more than one argument.

Note that if "git bisect good" or "git bisect skip" is given some
proper revs and then something that is not a proper rev, then the
first proper revs will still have been marked as "good" or "skip".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-bisect.sh
t/t6030-bisect-porcelain.sh