3

我正在开发一个与 git 存储库一起使用的小软件,我希望能够编写一些测试。为此,我在test-repo项目中创建了一个文件夹,该文件夹本身就是一个 git 存储库。在我的测试中,我引用了该存储库,以确保我针对处于精确已知状态的存储库运行的命令。

我的问题是:我可以将该嵌套存储库版本作为项目主存储库的一部分吗?请注意,这与子模块解决的问题并不完全相同:嵌套存储库实际上是封闭项目的一部分,而不是外部引用的软件。

4

2 回答 2

3

我认为问题在于 git 检测到自己的.git文件并且不允许使用它们。但是,如果您将测试存储库的.git文件夹重命名为不同的名称,例如_git它将起作用。您只需要做的一件事就是--git-dir在测试中使用 GIT_DIR 变量或命令行参数来指定文件夹。

于 2013-01-31T20:23:32.880 回答
0

即使它不是“外部引用的软件”,子模块仍然是一种很好的方法,因为它有助于捕获存储库的已知状态。

我宁愿将两者都放在repotest-repo仓库“ project”中:

project
  repo
  rest-repo

这样,我可以记录两者的准确 SHA1repotest-repo.

于 2013-01-31T20:50:08.123 回答