summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9d79b7e)
raw | patch | inline | side by side (parent: 9d79b7e)
author | Michael J Gruber <git@drmicha.warpmail.net> | |
Tue, 15 Mar 2011 21:24:56 +0000 (22:24 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 15 Mar 2011 23:06:08 +0000 (16:06 -0700) |
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>
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>
Documentation/git-bisect.txt | patch | blob | history |
index 47e8b1ed66087bf6d2e33969ea7ea2d32b620393..989e2238d653f2141a8cca061412f043ef13bcae 100644 (file)
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:
+
------------