Когда я конвертирую в git, как мне обработать одиночный каталог svn checkout? - PullRequest
2 голосов
/ 07 сентября 2011

Я скоро собираюсь преобразовать свою часть приложения из репозитория с резервной копией svn в git one.

Ранее я использовал git-svn, но вся команда переводится на git, и меня попросили быть в авангарде этого хода. Хотя я счастлив, что понимаю, как сделать большую часть движения, есть один аспект, который мне еще предстоит отработать.

Один каталог моего конфигурационного репозитория всегда использовался для отслеживания каталога сценариев внешнего приложения на автономной машине с Windows. Каталог скриптов для этого приложения находится внутри каталога установки приложений, поэтому с помощью svn я сделал проверку только этого каталога в соответствующей точке.

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

Если быть точным, я хочу отобразить содержимое myrepo:config/scripts на C:\application\scripts.

Насколько я вижу, у меня есть несколько вариантов:

1. Используйте отдельный репозиторий для этих файлов скриптов.

Это, вероятно, предпочтительнее, так как позволяет мне клонировать репо точно в нужное место.

К сожалению, в настоящее время нет структуры, которая позволяла бы хранить данные конфигурации (что и есть в этих сценариях) где-либо, кроме каталога конфигурации. Таким образом, это потребует некоторой реструктуризации наших репозиториев за пределы прямого преобразования с svn в git, на которое мы надеялись.

2. Используйте точки соединения.

Я мог бы поместить рабочую копию git каталога config в другом месте на C:\, а затем использовать точку соединения, чтобы каталог отображался как подкаталог каталога приложения, так же как Ger4ish предлагает с использованием символических ссылок в Unix.

К сожалению, у меня нет доступа администратора к этой машине, поэтому это не так просто, как кажется на первый взгляд.

Другие варианты?

Интересно, есть ли варианты, которые я пропустил.

Глядя на ответы на вопрос Разреженная проверка в Git 1.7.0? Я могу получить некоторые пути, но требование сохранить структуру в сочетании с необходимостью проверить в конкретная позиция означает, что этот метод не будет работать.

1 Ответ

1 голос
/ 07 сентября 2011

Вы смотрели на подмодули ?Вы можете создать отдельный репозиторий git для своих скриптов конфигурации и добавить его в качестве подмодуля в ваш основной репозиторий.Это позволит вам оформить заказ прямо в application/scripts, но при этом сохранить каталог config в основном хранилище.

Существуют некоторые нюансы в отношении того, как подмодули связаны с основным репозиторием, поэтому вам нужно, чтобы каждый, кто фиксирует каталог скриптов, понимал этот рабочий процесс.

...