【发布时间】:2017-04-24 17:25:25
【问题描述】:
我们的软件是模块化的,我在一个项目中有大约 20 个 git 存储库。
如果测试失败,有时很难找到匹配的提交,因为有几个开发人员在这 20 个存储库上工作。
我知道测试昨天成功了,今天失败了。
有时我使用 git-bisec,但这仅适用于一个 git repo。
两个 git repos 中的更改通常会导致测试失败。
我可以自己编写一个循环遍历我的 N 个 git 存储库的脏脚本,但在这样做之前,我想知道专家将如何解决这个问题。
我使用 Python、Django 和 pytest,但 AFAIK 这对于这个问题并不重要。
【问题讨论】:
-
@Phillip 的链接看起来很黄金,但我只想说“这就是你使用子模块的原因。这几乎是子模块的 点:记录哪些提交一起去从多个基础构建一个项目”。如果您使用了子模块,那么 bisect 将完美运行。”。
-
尝试手动缩小搜索范围:找到复杂应用程序正常的时刻,然后它就坏了。是否可以在一行中列出整个提交列表并进行思考?
-
@jthill 到目前为止,我们不使用 git 子模块。我认为没有他们也可以解决问题。也许有点难,但并非不可能。
-
@jthill 我同意子模块是个好主意,但我认为我无法说服其他任何人,而且大到需要它们的项目通常也大到足以拥有多个开发人员。
标签: python git debugging git-bisect