Импорт репозитория Subversion с нестандартным макетом в Git - PullRequest
3 голосов
/ 12 октября 2010

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

Часть содержимого проекта содержится в папках ствола и ветвей, но не во всех. Проект на Subversion выложен так:

project/trunk/
project/branches/feature_1
project/branches/feature_2
project/libraries
project/crontab
...

После импорта я хочу, чтобы репозиторий Git был выложен так:

project/html # the content of the old trunk and branches folders
project/libraries
project/crontab
...

Запуск svn2git с соответствующими параметрами правильно обрабатывает каталоги стволов и веток, но как я могу также включить историю для других папок? Кажется, что git-filter-branch может помочь, но я не уверен, как использовать это для этого.

1 Ответ

0 голосов
/ 06 декабря 2011

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

Если у вас много подкаталогов, вы можете захотеть сделать svnadmin dump, затем svndumpfilter exclude .. дважды, чтобы разделить репозиторий SVN на две половины, а затем использовать поддерево.метод слияния, чтобы снова присоединиться к ним.Это будет иметь более чистую историю, чем выполнение множества слияний поддеревьев.

...