hgbook

view en/examples/bisect @ 604:39b7a21c490b

Drop another dead file
author Bryan O'Sullivan <bos@serpentine.com>
date Fri Mar 27 10:04:49 2009 -0700 (2009-03-27)
parents 51b5d56744c5 91adcea08b33
children 7226e5e750a6
line source
1 #!/bin/bash
3 if hg -v | head -1 | grep -e "version 0.*"
4 then
5 #On mercurial 1.0 and later bisect is a builtin
6 echo '[extensions]' >> $HGRC
7 echo 'hbisect =' >> $HGRC
8 fi
10 # XXX There's some kind of horrible nondeterminism in the execution of
11 # bisect at the moment. Ugh.
13 #$ ignore: .*
15 #$ name: init
17 hg init mybug
18 cd mybug
20 #$ name: commits
22 buggy_change=22
24 for (( i = 0; i < 35; i++ )); do
25 if [[ $i = $buggy_change ]]; then
26 echo 'i have a gub' > myfile$i
27 hg commit -q -A -m 'buggy changeset'
28 else
29 echo 'nothing to see here, move along' > myfile$i
30 hg commit -q -A -m 'normal changeset'
31 fi
32 done
34 #$ name: help
36 hg help bisect
38 #$ name: search.init
40 hg bisect init
42 #$ name: search.bad-init
44 hg bisect bad
46 #$ name: search.good-init
48 hg bisect good 10
50 #$ name: search.step1
52 if grep -q 'i have a gub' *
53 then
54 result=bad
55 else
56 result=good
57 fi
59 echo this revision is $result
60 hg bisect --$result
62 #$ name: search.mytest
64 mytest() {
65 if grep -q 'i have a gub' *
66 then
67 result=bad
68 else
69 result=good
70 fi
72 echo this revision is $result
73 hg bisect $result
74 }
76 #$ name: search.step2
78 mytest
80 #$ name: search.rest
82 mytest
83 mytest
84 mytest
86 #$ name: search.reset
88 hg bisect reset
90 #$ name:
92 exit 0