git bisect可以忽略文件夹,例如测试文件夹吗?

时间:2016-08-03 08:55:13

标签: git version-control git-bisect

假设我之前为遗留系统设置了超级嗖嗖的测试框架。这是特征A在测试特征A之前存在的特征。特征B,C和D出现并且没有我们意识到,在某些时候打破了特征A的测试。

我们想知道哪些功能可以做到。

现在我要跑:

git bisect <bad> <good>
git run ./swish_test_suite.sh

问题是测试功能A的代码文件介于<bad><good>之间。我尝试过手动提取代码,但随后是各种配置和测试数据的路径中断(脆弱的代码?)。

有没有办法告诉git bisect忽略文件夹?我可以想象有时会出现可怕的错误,但我猜这可能比其他选择更容易。

这里没有解决How can I ignore a directory when doing a Git bisect?,因为它涵盖了构建文件夹,其中解决方案是从repo中删除它们,但我想保持我的测试提交! < / p>

git bisect with feature branches / later commits are needed to build也有点不同,因为我没有使用补丁或功能分支(我应该吗?)此外,解决方案似乎只是用于手动运行它,而不是git bisect run ning it!

1 个答案:

答案 0 :(得分:1)

对于这样的情况,请编写测试脚本,使其在每个步骤中添加所需的内容。 git help bisect手册有一个示例,您可以根据自己的需要进行调整。即,该示例执行git merge hotfix,执行您需要的任何内容以获取所需的测试文件。根据具体情况,合并可能不是您正在寻找的,但您可能会从某个地方挑选您的测试,或者只是事先将它们复制到其他目录(在二等分操作之前)并将其复制到{{ 1}}。

cp