bisect--helper: `write_terms` shell function in C
[gitweb.git] / git-bisect.sh
index a727c59250f13b08ccbc559f50b0c1c60a3dc2ba..a80fc44e524f259341186921b69ae160ff166195 100755 (executable)
@@ -209,7 +209,7 @@ bisect_start() {
        eval "$eval true" &&
        if test $must_write_terms -eq 1
        then
-               write_terms "$TERM_BAD" "$TERM_GOOD"
+               git bisect--helper --write-terms "$TERM_BAD" "$TERM_GOOD" || exit
        fi &&
        echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit
        #
@@ -557,18 +557,6 @@ get_terms () {
        fi
 }
 
-write_terms () {
-       TERM_BAD=$1
-       TERM_GOOD=$2
-       if test "$TERM_BAD" = "$TERM_GOOD"
-       then
-               die "$(gettext "please use two different terms")"
-       fi
-       git bisect--helper --check-term-format "$TERM_BAD" bad || exit
-       git bisect--helper --check-term-format "$TERM_GOOD" good || exit
-       printf '%s\n%s\n' "$TERM_BAD" "$TERM_GOOD" >"$GIT_DIR/BISECT_TERMS"
-}
-
 check_and_set_terms () {
        cmd="$1"
        case "$cmd" in
@@ -582,13 +570,17 @@ check_and_set_terms () {
                bad|good)
                        if ! test -s "$GIT_DIR/BISECT_TERMS"
                        then
-                               write_terms bad good
+                               TERM_BAD=bad
+                               TERM_GOOD=good
+                               git bisect--helper --write-terms "$TERM_BAD" "$TERM_GOOD" || exit
                        fi
                        ;;
                new|old)
                        if ! test -s "$GIT_DIR/BISECT_TERMS"
                        then
-                               write_terms new old
+                               TERM_BAD=new
+                               TERM_GOOD=old
+                               git bisect--helper --write-terms "$TERM_BAD" "$TERM_GOOD" || exit
                        fi
                        ;;
                esac ;;