【发布时间】:2017-04-02 02:22:53
【问题描述】:
我正在编写一个将一个系统与git 集成的模块。我正在编写测试并希望在测试目录中拥有测试存储库,因此我可以在其上运行单元测试。
模块和项目结构如下所示:
myproject/
mymodule/
some_dir/
tests/
__init__.py
testrepo/
/.git
test_some.py
/.git
现在我正在开发,它正在工作。我可以使用testrepo 运行测试。虽然我注意到,当我提交时,git 开始自动将testrepo 视为子项目。所以基本上它不会跟踪发生的所有变化。如果实际代码发生更改,则将其识别为子项目/子模块更改。但是,如果我说添加新分支,这些更改将无法识别(除非我会检查它等)。
所以我想知道使用testrepo 进行单元测试的最佳方式是什么。我希望它在源代码控制中,因此整个结构在单元测试中是完整的。
如果从how can I add git submodule into git repo as normal directory? 正确理解的话,将子 git 存储库视为普通存储库是不可能的(仅通过来回修改 git 名称)。
那么我如何才能保留子存储库中的所有更改,所以我只需要拉myproject 并获取所有分支等的testrepo?
还是只能作为真正的子模块使用,克隆myproject后需要初始化?
更新
如果我使用testrepo 作为真正的子模块,那么我的测试将停止工作,因为它不再被识别为正常的git repo。
【问题讨论】:
标签: git git-submodules