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.

Если это так, то да, вы могли:

То есть:

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"
Другие вопросы по тегам