Git svn — клонировать магистраль с сохранением пути

#git #git-svn

#git #git-svn

Вопрос:

Я использую локальный репозиторий git и хочу клонировать удаленную магистраль SVN. Это работает нормально, но магистраль / часть папки остается отключенной. Удаленный репозиторий слишком велик, чтобы просто клонировать или извлекать все вместе с ветвями и т. Д.

Мне нужен правильный путь для нашего инструмента проверки кода.

Как я могу создать git-svn, который клонирует только определенную магистраль / ветку, но сохраняет путь нетронутым?

 /trunk/folders
/branch/folders
  

При выборе опции магистрали указывается локальный путь

папки

Мне нужно, чтобы это было

магистраль / папки

Комментарии:

1. Как теперь инициализировать репозиторий git-svn?

2. git svn инициализирует svn://path/trunk, затем git svn извлекает -rxxxx, поскольку репозиторий такой большой. Также пробовал использовать графический интерфейс с выбранной магистралью / веткой и т. Д.

3. в любом случае, я не уверен, в чем суть вопроса, но, вероятно, вы хотите заглянуть в файл .git / config и получить некоторое представление о том, как добавить дополнительные клоны svn

Ответ №1:

То, как я это делал,

 svn init -T svn://path/to/trunk
svn git fetch
  

Я также использовал опцию -r для git fetch, чтобы избежать извлечения истории из всей вечности. Вы также можете добавить обратно в ветки / теги в .git/config, это задокументировано на справочной странице git-svn.

Ответ №2:

  1. (Не уверен в этом, но это самое простое решение) Вы могли бы просто переместить папки каталога в новую магистраль папки. Git не будет возражать, и другие инструменты найдут нужный вам путь.
  2. Вы могли бы сделать git svn init svn://path/trunk trunk
  3. Также проверьте --ignore-patch параметр git svn fetch