summaryrefslogtreecommitdiffstats
path: root/git-bisect.txt
diff options
context:
space:
mode:
authorJunio C Hamano <junio@hera.kernel.org>2008-05-09 05:46:08 +0000
committerJunio C Hamano <junio@hera.kernel.org>2008-05-09 05:46:08 +0000
commit6d76d61fb621d158ee26238e735e282e33fb1a81 (patch)
treeedcabf096615344f6d597c38b9faf68b26ba024d /git-bisect.txt
parent47d68a53947d51de4f67b6b7e4e7f76e71e16fb5 (diff)
downloadgit-htmldocs-6d76d61fb621d158ee26238e735e282e33fb1a81.tar.gz
Autogenerated HTML docs for v1.5.5.1-178-g1f81
Diffstat (limited to 'git-bisect.txt')
-rw-r--r--git-bisect.txt49
1 files changed, 49 insertions, 0 deletions
diff --git a/git-bisect.txt b/git-bisect.txt
index 698ffde7c..539f37df2 100644
--- a/git-bisect.txt
+++ b/git-bisect.txt
@@ -224,6 +224,55 @@ tree to the pristine state. Finally the "run" script can exit with
the status of the real test to let "git bisect run" command loop to
know the outcome.
+EXAMPLES
+--------
+
+* Automatically bisect a broken build between v1.2 and HEAD:
++
+------------
+$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good
+$ git bisect run make # "make" builds the app
+------------
+
+* Automatically bisect a broken test suite:
++
+------------
+$ cat ~/test.sh
+#!/bin/sh
+make || exit 125 # this "skip"s broken builds
+make test # "make test" runs the test suite
+$ git bisect start v1.3 v1.1 -- # v1.3 is bad, v1.1 is good
+$ git bisect run ~/test.sh
+------------
++
+Here we use a "test.sh" custom script. In this script, if "make"
+fails, we "skip" the current commit.
++
+It's safer to use a custom script outside the repo to prevent
+interactions between the bisect, make and test processes and the
+script.
++
+And "make test" should "exit 0", if the test suite passes, and
+"exit 1" (for example) otherwise.
+
+* Automatically bisect a broken test case:
++
+------------
+$ cat ~/test.sh
+#!/bin/sh
+make || exit 125 # this "skip"s broken builds
+~/check_test_case.sh # does the test case passes ?
+$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10
+$ git bisect run ~/test.sh
+------------
++
+Here "check_test_case.sh" should "exit 0", if the test case passes,
+and "exit 1" (for example) otherwise.
++
+It's safer if both "test.sh" and "check_test_case.sh" scripts are
+outside the repo to prevent interactions between the bisect, make and
+test processes and the scripts.
+
Author
------
Written by Linus Torvalds <torvalds@osdl.org>