Использование subgit с репозиториями, имеющими каталог .git

Я не понимаю, как использовать subgit, если я хочу, чтобы в моем репозитории Git был подкаталог .git.

Если я использую обычный subgit configure + (subgit import или subgit install), он не создает каталог .git.

Если я сначала сделаю git init, то я смогу сделать subgit import, но это не позволит мне сначала выполнить subgit configure, и я хочу настроить свой файл конфигурации, чтобы мне не приходилось помещать кучу вещей в командную строку для subgit import.

Есть ли способ указать subgit использовать обычный каталог .git для всех материалов репозитория?


person Jason S    schedule 23.03.2015    source источник
comment
Вы не путаете голые и не голые репозитории (см. краткий статья о них)? Обычно вы создаете голый репозиторий с помощью команды git init --bare, затем запускаете на нем subgit configure + subgit install (subgit import — это просто ярлык для настройки + установки + удаления). Затем вы клонируете полученный репозиторий с git clone, чтобы получить не голый репозиторий с рабочим деревом и каталогом .git/ в нем. Таким образом, вы в основном работаете с этим не голым репозиторием. Если это не решение, опишите, где хранятся объекты Git.   -  person Dmitry Pavlenko    schedule 24.03.2015
comment
а, хорошо, спасибо - я почитаю о них.   -  person Jason S    schedule 24.03.2015
comment
Да, я только что попробовал это с git init --bare вместо git init, и теперь это сработало. Не могли бы вы опубликовать это как ответ? Я приму.   -  person Jason S    schedule 24.03.2015


Ответы (1)


Вы всегда должны устанавливать SubGit в голый репозиторий. Чтобы создать голый репозиторий, используйте команду git init --bare. В качестве альтернативы вы можете указать несуществующий или пустой каталог для команды subgit configure, и SubGit создаст в нем пустой репозиторий Git:

$ subgit configure --svn-url <SVN_URL> non-existing-directory.git
$ subgit install non-existing-directory.git

Затем вы должны настроить Apache или SSH, чтобы предоставить доступ к этому репозиторию, или клонировать его локально, чтобы получить репозиторий с каталогом .git/ и рабочим деревом.

Я также хотел бы отметить, что subgit import в основном является ярлыком для команд subgit configure + subgit install + subgit uninstall, поэтому для одноразового импорта вы можете использовать

$ subgit import --svn-url <SVN_URL> non-existing-directory.git
person Dmitry Pavlenko    schedule 24.03.2015
comment
Очень полезно, так как я не нашел упоминания о шаге клонирования в документации SubGit. - person oli; 19.11.2015