Skip to content

Commit

Permalink
git-bisect.txt: example for bisecting with hot-fix
Browse files Browse the repository at this point in the history
Give an example on how to bisect when older revisions need a hot-fix to
build, run or test. Triggered by the binutils/kernel issue at

http://thread.gmane.org/gmane.comp.gnu.binutils/52601/focus=1112779

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael J Gruber authored and Junio C Hamano committed Mar 15, 2011
1 parent 9d79b7e commit e235b91
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions Documentation/git-bisect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,39 @@ It is safer if both "test.sh" and "check_test_case.sh" are
outside the repository to prevent interactions between the bisect,
make and test processes and the scripts.

* Automatically bisect with temporary modifications (hot-fix):
+
------------
$ cat ~/test.sh
#!/bin/sh

# tweak the working tree by merging the hot-fix branch
# and then attempt a build
if git merge --no-commit hot-fix &&
make
then
# run project specific test and report its status
~/check_test_case.sh
status=$?
else
# tell the caller this is untestable
status=125
fi

# undo the tweak to allow clean flipping to the next commit
git reset --hard

# return control
exit $status
------------
+
This applies modifications from a hot-fix branch before each test run,
e.g. in case your build or test environment changed so that older
revisions may need a fix which newer ones have already. (Make sure the
hot-fix branch is based off a commit which is contained in all revisions
which you are bisecting, so that the merge does not pull in too much, or
use `git cherry-pick` instead of `git merge`.)

* Automatically bisect a broken test case:
+
------------
Expand Down

0 comments on commit e235b91

Please sign in to comment.