tufte layout files:
[lyx.git] / development / keystest / cache-bisect.sh
bloba929406f8a340cf82afe6067b3d5e86c3facf76e
1 #!/bin/bash
3 # Cache-bisect is
4 # roughly based on git-bisect, but uses SVN and caches every build tree
5 # to maximize performance. The idea here is that if the first few tests
6 # happen very quickly, and give plausible results, you can have
7 # confidence that you can just leave it running. Without that confidence
8 # I'd be continually thinking "Is the bisect still working, maybe I
9 # should check" so the bisect would be taking up my mental space. With
10 # cache-bisect, I can fire-and-forget, leaving the CPU to do the menial
11 # tasks while I think about other things. Additionally caching the
12 # build-trees cuts down on the amount of bandwidth required on the SVN
13 # server
14 # It uses three levels
15 # 1) At the bottom level, it bisects much like git-bisect
16 # 2) At the second level, it bisects, but only over cached revisions.
17 # 3) The the top level it does what I refer to as a "multisect". The
18 # idea is that you may not know which revision was a good revision, and
19 # picking revision 1 as the "good" revision is not only mildly wasteful
20 # but is likely to produce misleading results. Instead it starts
21 # stepping backwards, first trying 1.6.0, and then going backwards
22 # through trunk.
24 KT=$(cd $(dirname "$0") && pwd)
25 $KT/cache-bisect.py "$@" | tee out/cache-bisect-$USER.log