diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2007-10-24 07:01:05 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-10-26 23:27:24 -0700 |
commit | 55624f9af49733ca6ae4abc3cd21e0f9a4f9f486 (patch) | |
tree | eb8f3363a904ab6c9d428673c6c648baa83a91b9 /git-bisect.sh | |
parent | 97e1c51e15d94f523c67a499ecb633b0e20324cb (diff) | |
download | git-55624f9af49733ca6ae4abc3cd21e0f9a4f9f486.tar.gz |
Bisect: refactor "bisect_write_*" functions.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-bisect.sh')
-rwxr-xr-x | git-bisect.sh | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/git-bisect.sh b/git-bisect.sh index cd46190302..82aa40433b 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -108,9 +108,9 @@ bisect_start() { } if [ $bad_seen -eq 0 ]; then bad_seen=1 - bisect_write_bad "$rev" + bisect_write 'bad' "$rev" else - bisect_write_good "$rev" + bisect_write 'good' "$rev" fi shift ;; @@ -122,6 +122,18 @@ bisect_start() { bisect_auto_next } +bisect_write() { + state="$1" + rev="$2" + case "$state" in + bad) tag="$state" ;; + good|skip) tag="$state"-"$rev" ;; + *) die "Bad bisect_write argument: $state" ;; + esac + echo "$rev" >"$GIT_DIR/refs/bisect/$tag" + echo "# $state: "$(git show-branch $rev) >>"$GIT_DIR/BISECT_LOG" +} + bisect_bad() { bisect_autostart case "$#" in @@ -132,17 +144,11 @@ bisect_bad() { *) usage ;; esac || exit - bisect_write_bad "$rev" + bisect_write 'bad' "$rev" echo "git-bisect bad $rev" >>"$GIT_DIR/BISECT_LOG" bisect_auto_next } -bisect_write_bad() { - rev="$1" - echo "$rev" >"$GIT_DIR/refs/bisect/bad" - echo "# bad: "$(git show-branch $rev) >>"$GIT_DIR/BISECT_LOG" -} - bisect_good() { bisect_autostart case "$#" in @@ -153,18 +159,12 @@ bisect_good() { for rev in $revs do rev=$(git rev-parse --verify "$rev^{commit}") || exit - bisect_write_good "$rev" + bisect_write 'good' "$rev" echo "git-bisect good $rev" >>"$GIT_DIR/BISECT_LOG" done bisect_auto_next } -bisect_write_good() { - rev="$1" - echo "$rev" >"$GIT_DIR/refs/bisect/good-$rev" - echo "# good: "$(git show-branch $rev) >>"$GIT_DIR/BISECT_LOG" -} - bisect_skip() { bisect_autostart case "$#" in @@ -175,18 +175,12 @@ bisect_skip() { for rev in $revs do rev=$(git rev-parse --verify "$rev^{commit}") || exit - bisect_write_skip "$rev" + bisect_write 'skip' "$rev" echo "git-bisect skip $rev" >>"$GIT_DIR/BISECT_LOG" done bisect_auto_next } -bisect_write_skip() { - rev="$1" - echo "$rev" >"$GIT_DIR/refs/bisect/skip-$rev" - echo "# skip: "$(git show-branch $rev) >>"$GIT_DIR/BISECT_LOG" -} - bisect_next_check() { missing_good= missing_bad= git show-ref -q --verify refs/bisect/bad || missing_bad=t @@ -395,15 +389,15 @@ bisect_replay () { eval "$cmd" ;; good) - bisect_write_good "$rev" + bisect_write 'good' "$rev" echo "git-bisect good $rev" >>"$GIT_DIR/BISECT_LOG" ;; bad) - bisect_write_bad "$rev" + bisect_write 'bad' "$rev" echo "git-bisect bad $rev" >>"$GIT_DIR/BISECT_LOG" ;; skip) - bisect_write_skip "$rev" + bisect_write 'skip' "$rev" echo "git-bisect skip $rev" >>"$GIT_DIR/BISECT_LOG" ;; *) |