繁体   English   中英

Git 对 gem 依赖进行二等分?

[英]Git bisect for a gem dependency?

我有带测试的 Ruby gem,它依赖于另一个 gem。

最近有另一个 gem 的新版本,由于行为的变化,它破坏了我的 gem 的测试套件。

我知道应该归咎于另一个 gem 的哪个小版本颠簸,但我想找出确切的提交(点发布之间有数百个提交),以便我可以了解问题出在哪里。

我之前使用过git bisect来缩小我的 repo 中的错误提交的范围,但是我可以为依赖项做类似的事情吗?

你可以稍微摆弄一下:

  1. 在本地克隆 gem 的 repo
  2. 更新您的 gemfile 以从 git 获取 gem,确保您指定了一个分支
  3. 在您的应用程序目录中运行

    bundle config --local local.mygem path/to/checkout

您的应用程序现在应该从您的结帐中加载该 gem,并且您应该能够在该存储库上运行 git bisect。 诸如 zeus、spring 之类的东西可能需要在每个修订版检出后重新启动——它们往往会监视 gemfile.lock,因此可能不会注意到 gem 本身是否发生了变化。

完成后,将更改恢复到您的 gemfile 并编辑.bundle/config以删除覆盖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM