[PATCH 6/9] bisect: enable --ignore-checkout-failure in the porcelain.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
git-bisect.sh | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/git-bisect.sh b/git-bisect.sh
index ecbd5bf..f3913ba 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -3,7 +3,7 @@
USAGE='[help|start|bad|good|skip|next|reset|visualize|replay|log|run]'
LONG_USAGE='git bisect help
print this long help message.
-git bisect start [<bad> [<good>...]] [--] [<pathspec>...]
+git bisect start [--ignore-checkout-failure] [<bad> [<good>...]] [--] [<pathspec>...]
reset bisect state and start bisection.
git bisect bad [<rev>]
mark <rev> a known-bad revision.
@@ -116,6 +116,11 @@ bisect_start() {
shift
break
;;
+ --ignore-checkout-failure)
+ IGNORE_CHECKOUT_FAILURE=$arg
+ echo "$arg" > $GIT_DIR/BISECT_IGNORE_CHECKOUT_FAILURE
+ shift
+ ;;
*)
rev=$(git rev-parse -q --verify "$arg^{commit}") || {
test $has_double_dash -eq 1 &&
@@ -293,7 +298,7 @@ bisect_next() {
bisect_next_check good
# Perform all bisection computation, display and checkout
- git bisect--helper --next-all
+ git bisect--helper --next-all ${IGNORE_CHECKOUT_FAILURE}
res=$?
# Check if we should exit because bisection is finished
@@ -379,6 +384,7 @@ bisect_clean_state() {
rm -f "$GIT_DIR/BISECT_LOG" &&
rm -f "$GIT_DIR/BISECT_NAMES" &&
rm -f "$GIT_DIR/BISECT_RUN" &&
+ rm -f "$GIT_DIR/BISECT_IGNORE_CHECKOUT_FAILURE" &&
# Cleanup head-name if it got left by an old version of git-bisect
rm -f "$GIT_DIR/head-name" &&
--
1.7.6.347.g96e0b.dirty