我有Ruby gem和测试,它依赖于另一个gem。
最近有一个新版本的其他宝石,由于行为的改变而打破了我宝石的测试套件。
我知道其他gem的哪个次要版本会受到责备,但我想找出确切的提交(点发布之间有几百次提交),以便我能够理解问题所在。
我之前使用git bisect
来缩小我的仓库中的错误提交范围,但是我可以为依赖项执行类似的操作吗?
答案 0 :(得分:1)
你可以通过一些小小的尝试来做到这一点:
在您的应用程序目录中运行
bundle config --local local.mygem path/to/checkout
您的应用现在应该从结帐中加载该gem,您应该可以在该repo上运行git bisect。在签出每个修订版本之后,可能需要重新启动zeus,spring之类的东西 - 他们倾向于观察gemfile.lock,因此可能不会注意到gem本身是否会发生变化。
完成后,将更改还原到gemfile并编辑.bundle/config
以删除覆盖。