Instead of directly writing to and reading from files in
$GIT_DIR, use ref API to interact with BISECT_HEAD.

Signed-off-by: David Turner <dtur...@twopensource.com>
---
 git-bisect.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/git-bisect.sh b/git-bisect.sh
index ae3fec2..dddcc89 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -35,7 +35,7 @@ _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
 
 bisect_head()
 {
-       if test -f "$GIT_DIR/BISECT_HEAD"
+       if bisect_head_exists
        then
                echo BISECT_HEAD
        else
@@ -209,6 +209,10 @@ check_expected_revs() {
        done
 }
 
+bisect_head_exists() {
+    git rev-parse --quiet --verify "BISECT_HEAD" >/dev/null
+}
+
 bisect_skip() {
        all=''
        for arg in "$@"
@@ -310,7 +314,7 @@ bisect_next() {
        bisect_next_check good
 
        # Perform all bisection computation, display and checkout
-       git bisect--helper --next-all $(test -f "$GIT_DIR/BISECT_HEAD" && echo 
--no-checkout)
+       git bisect--helper --next-all $(bisect_head_exists && echo 
--no-checkout)
        res=$?
 
        # Check if we should exit because bisection is finished
@@ -377,7 +381,7 @@ bisect_reset() {
                usage ;;
        esac
 
-       if ! test -f "$GIT_DIR/BISECT_HEAD" && ! git checkout "$branch" --
+       if ! bisect_head_exists && ! git checkout "$branch" --
        then
                die "$(eval_gettext "Could not check out original HEAD 
'\$branch'.
 Try 'git bisect reset <commit>'.")"
-- 
2.0.4.314.gdbf7a51-twtrsrc

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to