Mercurial > hgbook
view ja/examples/bisect @ 776:019040fbf5f5
merged to upstream: phase 1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 21 Apr 2009 00:36:40 +0900 |
parents | en/examples/bisect@b08f6a61bf15 en/examples/bisect@b7cdede6065f |
children | 896ab6eaf1c6 |
line wrap: on
line source
#!/bin/bash if hg -v | head -1 | grep -e "version 0.*" then #On mercurial 1.0 and later bisect is a builtin echo '[extensions]' >> $HGRC echo 'hbisect =' >> $HGRC fi # XXX There's some kind of horrible nondeterminism in the execution of # bisect at the moment. Ugh. #$ ignore: .* #$ name: init hg init mybug cd mybug #$ name: commits buggy_change=22 for (( i = 0; i < 35; i++ )); do if [[ $i = $buggy_change ]]; then echo 'i have a gub' > myfile$i hg commit -q -A -m 'buggy changeset' else echo 'nothing to see here, move along' > myfile$i hg commit -q -A -m 'normal changeset' fi done #$ name: help hg help bisect #$ name: search.init hg bisect init #$ name: search.bad-init hg bisect bad #$ name: search.good-init hg bisect good 10 #$ name: search.step1 if grep -q 'i have a gub' * then result=bad else result=good fi echo this revision is $result hg bisect --$result #$ name: search.mytest mytest() { if grep -q 'i have a gub' * then result=bad else result=good fi echo this revision is $result hg bisect $result } #$ name: search.step2 mytest #$ name: search.rest mytest mytest mytest #$ name: search.reset hg bisect reset #$ name: exit 0