1 个不稳定发布
0.1.0-alpha.1 | 2020年5月30日 |
---|
#665 在 测试
70KB
134 代码行
Risect
Risect是一个二分查找工具,比git bisect
更友好、更通用。
与 git bisect
相比
git bisect
的命令集合难以记忆git bisect
需要努力查看其stdout输出git bisect
无法搜索依赖项的提交
用法
您可以使用两种方式使用Risect。
- 将搜索空间通过stdin管道传输
- 使用内置设置(推荐)
例如,要模拟 git bisect
,您可以直接使用 git rev-list
或 --git
标志。
1. git rev-list master~5 .. master | risect -- sh -c "git checkout {} && ./test.sh"
2. risect --git master~5 master -- sh -c "git checkout {} && ./test.sh"
第二种方法提供了更多的元数据,除了 {}
,如 {author-name}
或 {author-email}
。这些可以在测试命令和报告格式中使用。
配置(待办事项)
--verbose
--parallel <n>
执行 (n+1)-元搜索--interactive
内置类型(待办事项)
Git
risect --git --from HEAD~5 --to HEAD -- ./test.sh {} # all commit hash list is determined before first run
risect --git --from HEAD~5 --to HEAD --path ./submodule -- ./test.sh {} # git bisect on submodule
risect --git --from-date 2020-05-02 --to bbbb -- ./test.sh {} # commits since --from-date
risect --git --from-date 2020-05-02 --n 5 -- ./test.sh {} # 5 commits since --from-date
日期
risect --date 2020-05-05 2020-05-20 -- ./test.sh {}
数字
seq 0 1.0 0.2 | risect -- ./test.sh --threshold={}
自定义
risect --custom "seq 0 1.0 0.2" -- ./test.sh --threshold={}
报告(待办事项)
实时进度1
input: aaaaaa ... bbbbbb (50 candidates)
remaining: aadaaa ... bbebbb (20 candidates)
last success: dddddd
first failure: eeeeee
实时进度2
[ ] 1
[ ] 2
[ ] 3
[ ] 4
[x] 5 <- last failure
[ ] 6
[?] 7 <- running
[ ] 8
[ ] 9
[ ] 10
..
[ ] 199
[v] 200 <- first success
条形图
|...o...o...oo.....?...x..x...|
依赖关系
~1.5–8.5MB
~57K SLoC