Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Bisect: refactor "bisect_write_*" functions.
author
Christian Couder
<chriscool@tuxfamily.org>
Wed, 24 Oct 2007 05:01:05 +0000
(07:01 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Sat, 27 Oct 2007 06:27:24 +0000
(23:27 -0700)
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>
git-bisect.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
97e1c51
)
diff --git
a/git-bisect.sh
b/git-bisect.sh
index cd461903020931d105121f5a7d6634eb586eedf6..82aa40433b9b8121b5675879794be025f8901c41 100755
(executable)
--- a/
git-bisect.sh
+++ b/
git-bisect.sh
@@
-108,9
+108,9
@@
bisect_start() {
}
if [ $bad_seen -eq 0 ]; then
bad_seen=1
}
if [ $bad_seen -eq 0 ]; then
bad_seen=1
- bisect_write
_bad
"$rev"
+ bisect_write
'bad'
"$rev"
else
else
- bisect_write
_good
"$rev"
+ bisect_write
'good'
"$rev"
fi
shift
;;
fi
shift
;;
@@
-122,6
+122,18
@@
bisect_start() {
bisect_auto_next
}
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
bisect_bad() {
bisect_autostart
case "$#" in
@@
-132,17
+144,11
@@
bisect_bad() {
*)
usage ;;
esac || exit
*)
usage ;;
esac || exit
- bisect_write
_bad
"$rev"
+ bisect_write
'bad'
"$rev"
echo "git-bisect bad $rev" >>"$GIT_DIR/BISECT_LOG"
bisect_auto_next
}
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
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
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
}
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
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
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
}
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
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)
eval "$cmd"
;;
good)
- bisect_write
_good
"$rev"
+ bisect_write
'good'
"$rev"
echo "git-bisect good $rev" >>"$GIT_DIR/BISECT_LOG"
;;
bad)
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)
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"
;;
*)
echo "git-bisect skip $rev" >>"$GIT_DIR/BISECT_LOG"
;;
*)