Подтвердить что ты не робот

Git svn клон одного каталога SVN-репозитория

Я пытаюсь использовать git svn для клонирования одного каталога репозитория SVN в репозиторий Git.

Если я использую git svn clone svn+ssh://path/to/repo/trunk/directory, я получаю репо Git без ветвей, которые отражают ветки в исходном SVN-репо.

Если я использую git svn --stdlayout svn+ssh://path/to/repo/trunk/directory, я получаю пустой репозиторий Git. Ниже приведен вывод команды:

Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/directory'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories

Я читал, что способ исправить выше было добавить диапазон ревизий, например -r 1000:HEAD, это все равно создает пустое репо. Выход:

Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo

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

4b9b3361

Ответ 1

Вам не нужен стандартный макет, вы хотите что-то вроде этого:

git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory

Ответ 2

Подготовьте и введите локальный каталог проекта:

mkdir local/project/path
cd local/project/path

Инициализировать локальный репозиторий git с помощью svn remote и получить данные:

git svn init http://my_svn_server.com/repository/project/location
git svn fetch

Кредит отправляется Габриэлю Салданье: http://blog.gabrielsaldana.org/using-git-with-subversion-repository-subdirectory/