Может ли git svn init обрабатывать одноуровневые каталоги транка / веток / тегов, которые должны быть частью базовой проверки
Хранилище SVN для Macports выглядит следующим образом:
branches/
contrib/
distfiles/
downloads/
tags/
trunk/
users/
Я хочу импортировать это с помощью git svn и использовать стандартные функции для правильной интерпретации веток и тегов.
То, что я хотел бы видеть, является единственным репозиторием git, у которого есть каталоги
trunk/
contrib/
distfiles/
downloads/
users/
Другими словами, я хочу сохранить ветви в каталоге ветвей как ветви (для транка, я полагаю), а теги - как git-теги. Тем не менее, я хочу иметь возможность видеть содержимое транка, contrib, distfiles, загрузок и пользователей без переключения веток.
Это похоже на этот вопрос, однако отличается тем, что эти дополнительные каталоги (contrib, distfiles, downloads, users) не имеют своих собственных тегов или ветвей. Мне кажется, они должны быть подкаталогами транка, поэтому альтернативным решением было бы как-то проверить транк с этими дополнительными подкаталогами, появляющимися под транком. Тем не менее, это может быть невозможно по причине.
Если нет никаких предложений, как легко справиться с этим, чтобы я мог легко просматривать contrib и trunk одновременно, не делая ничего действительно сложного? Я мог бы судить об этом с помощью субмодулей, но это, похоже, вызывает проблемы.
1 ответ
Конечно:
git svn clone http://repo_hostname/top_level_dir_above_those
Без каких-либо опций, git svn не будет искать ветки, а просто проверять все, как вы хотите.
ОБНОВИТЬ:
После дальнейшего разъяснения, некоторые части репозитория git не будут доступны для просмотра во всех ветвях с одной и той же ревизией... git версии всей структуры дерева каталогов.
Однако вы можете использовать указанную выше команду для извлечения каждого из этих каталогов верхнего уровня в свой собственный репозиторий, а затем использовать стандартное расположение git svn repo для своих веток, тегов и ствола. Поддерживать их в актуальном состоянии будет проблематично, но сценарий оболочки может выполнять выборку для каждого репо для удобства.