Git存储库使用目录作为外部

时间:2016-04-07 19:06:44

标签: git git-svn git-submodules

我有一个SVN存储库,其中一些文档通过svn:externals使用相同的引用(bibtex)文件。其内容如下:

bibtex/
doc1/
-doc1.tex
-bibtex/ (svn:externals)
doc2/
-doc2.tex
-bibtex/ (svn:externals)

这样我可以单独检查每张纸并获得相同的参考。如何使用git设置相同的内容?

我读到了子模块被建议,但如果我尝试(在git svn clone之后)

git submodule add ./bibtex ./doc1/bibtex

我获得了

fatal: repository '/home/user/repo/bibtex' does not exist
Clone of '/home/user/repo/bibtex' into submodule path 'doc1/bibtex' failed

1 个答案:

答案 0 :(得分:1)

您需要确保bibtex在其自己的Git存储库中。不会使用svn external,因为它是指向 same 存储库文件夹的“相对外部”链接。

此外,在git svn clone之后,仅当您不打算git svn dcommit回到SVN存储库时,才可以重新组织Git存储库。

如果是这样,那么可以,

也就是说:

cd /path/to/svl-cloned/repo
cd doc1
git rm -r bibtex/
git commit -m "remove bibtex"
git submodule add /url/remote/bibtex/repo bibtex
git add .
git commit -m "Add bibtex submodule"