git-svn, как использовать каталог в транке в качестве локального транка - PullRequest
4 голосов
/ 16 декабря 2009

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

например: / путь / к / репо / транк / true_trunk

все теги и ветки в репо относятся исключительно к этому каталогу 'true_trunk'.

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

есть ли способ заставить git-svn общаться только с этой директорией 'true_trunk'?

любая попытка указать этот каталог приводит к следующему: Использование более высокого уровня URL: svn: // path / to / trunk / true_trunk => svn: // path / to / repo

Ответы [ 2 ]

3 голосов
/ 16 декабря 2009

Параметр -T для git svn init позволяет указать каталог, который будет обрабатываться как каталог «trunk». Я использовал это в прошлом со странно организованными деревьями каталогов Subversion, и это было успешно. Возможно, вам придется немного поэкспериментировать, чтобы подобрать правильную комбинацию вариантов для вашей ситуации.

1 голос
/ 16 декабря 2009

Вы можете указать свой истинный ствол с параметром -T, равным git svn clone, а также -b для ваших ветвей и -t для тегов. Я думаю, что для этого макета вам может потребоваться указать каждую ветку / тег отдельно, что-то вроде этого должно работать для вас,

$ git-svn clone  \
 -T svn://path/to/trunk/true_trunk \
 -b svn://path/to/branches/branch1/true_trunk  \
 -b svn://path/to/branches/branch1/true_trunk \
 -t svn://path/to/tags/tag1/true_trunk \
 -t svn://path/to/tags/tag2/true_trunk \
repository_name

Вам может потребоваться сгенерировать дамп ваших веток и тегов из SVN, чтобы помочь отформатировать эту команду

$ svn ls svn://path/to/tags
$ svn ls svn://path/to/branches
...