diff options
author | Glenn Morris <[email protected]> | 2013-02-16 17:40:14 -0800 |
---|---|---|
committer | Glenn Morris <[email protected]> | 2013-02-16 17:40:14 -0800 |
commit | 668187120a416825365b52068e6f5122086a604c (patch) | |
tree | bfa15df34603e2b9eb1f2314b5b142c836e27ad4 /admin/notes | |
parent | f05e2ff2e3d260d6480495886d9bdadd6c0d507f (diff) |
Add a very basic bisecting guide
Diffstat (limited to 'admin/notes')
-rw-r--r-- | admin/notes/bzr | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/admin/notes/bzr b/admin/notes/bzr index cdcfa7e7e3..f35ff95f9d 100644 --- a/admin/notes/bzr +++ b/admin/notes/bzr @@ -267,3 +267,52 @@ For example, on RHEL6 I needed: yum --enablerepo=epel install python-simpletal Then point your web-browser to http://127.0.0.1:8080/ . + +* Bisecting + +This is a semi-automated way to find the revision that introduced a bug. + +First, get the bzr bisect plugin if you do not have it already: + + cd ~/.bazaar/plugins + bzr branch lp:bzr-bisect bisect + +`bzr help bisect' should work now. + +It's probably simplest to make a new copy of the branch to work in +from this point onwards. + +Identify the last known "good" revision where the relevant issue is +NOT present (e.g. maybe Emacs 24.1). Let's say this is revision 1000. + + bzr bisect start + bzr bisect no -r 1000 + +At this point, bzr will switch to the mid-point of revision 1000 and +the current revision. If you know that the issue was definitely +present in some specific revision (say 2000), you can use: + + bzr bisect yes -r 2000 + +Now bzr switches to revision 1500. + +Now test whether the issue is present. You might need to rebuild +Emacs to do this, or if you know the problem is in a specific Lisp +file, you might be able to get away with just loading that one file in +current Emacs. + +If the issue is present, use + + bzr bisect yes + +If it is not, use + + bzr bisect no + +Repeat until you zero-in on the specific revision. + +When finished, use + + bzr bisect reset + +or simply delete the entire branch if you created it just for this. |