【发布时间】:2018-01-09 13:00:50
【问题描述】:
我的代码中有一个错误,由于测试失败,可以很容易地重现该错误。
到目前为止,我在这种情况下使用了 git-bisect,但它只有在只有一个 git repo 时才有用。
就我而言,有 7 个。
有没有办法做类似 git-bisect 的事情,但对于 N 个 git 存储库?
更新
有一个“容器”回购,主要包含配置。它与特定客户有关。
那么核心应用程序就有一个 repo。
那么这个核心应用程序的插件的 N 个仓库在哪里。
在此上下文中不使用 Git 子模块。
更新2
到目前为止,我还没有使用google repo tool。 AFAIK 它也不能一分为二。
【问题讨论】:
-
7 个存储库?这有什么原因吗?他们没有共同点吗?你不能做一个第 8 个,然后把所有其他 7 个都拉进去,结合历史,然后你可以在那里运行 bisect 吗?
-
这七个仓库有什么关系?是其他的一些子模块或子树吗?有一些图书馆吗?是什么阻止您确定包含错误的存储库?
-
我更新了问题并解释了为什么有几个 git repos。
-
假设其他 repos 是子模块,您可以轻松地在每个
git bisect之后运行git submodule update,如果需要,甚至可以编写脚本。 -
您自己将日期一分为二,并在每个 repo 中使用
git log --before和--after来查找您正在测试的时间戳的匹配提交。签出所有 repos 中的相应提交并检查它们。然后搜索下一个日期并再次测试,就像 git bisect 对单个 repo 所做的那样。
标签: git git-bisect