Git-репозиторий, использующий каталог как внешний
У меня есть SVN-репозиторий с некоторыми документами, использующими те же файлы ссылок (bibtex) через svn:externals. Его содержимое выглядит так:
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
0 ответов
Вы должны убедиться bibtex
находится в собственном репозитории Git. Что не такsvn external
используется, поскольку это "относительная внешняя" ссылка на папку того же репозитория.
Плюс, после git svn clone
, вы можете реорганизовать репозиторий Git только в том случае, если вы не собираетесь git svn dcommit
обратно в репозиторий SVN.
Если это так, то да, вы могли:
- разделить bibtext в собственном репозитории
- переместите его в новое удаленное пустое репо
- добавьте его как подмодуль в исходное репо
То есть:
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"