Перемещение веток из SVN в Git - PullRequest
0 голосов
/ 28 сентября 2018

У меня в SVN 2 ветки - ствол и выпуск (ветки из ствола).Намерение состоит в том, чтобы перенести их в одно хранилище в GIT.

SVN(trunk)----->GIT(master)
SVN(release)---->GIT(release) - where GIT(release) has been branched from GIT(master)

После этого мы ежедневно обновляем соответствующие ветки назначения SVN source-> GIT для временного промежуточного окна миграции.

Возможно ли это?
Если да, то как этого добиться?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Если вы хотите некоторое время синхронизировать SVN и Git, вы также можете взглянуть на SubGit .Он создает двустороннее зеркало между SVN и Git, поэтому новые версии SVN будут автоматически отправлены в Git, и наоборот.

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

Это коммерческий продукт, но бесплатный для небольших групп до 10Git committers.

0 голосов
/ 28 сентября 2018

Сначала сделайте резервную копию (или две) вашего svn-хранилища.

Затем установите svn2git .В MacOS:

brew install ruby
gem install svn2git

или в Debian:

sudo apt-get install git-core git-svn ruby
sudo gem install svn2git

Затем (необязательно, но рекомендуется) перечислите всех авторов в репозитории svn:

svn log --quiet \
| grep -E "r[0-9]+ \| .+ \|" \
| cut -d'|' -f2 \
| sed 's/ //g' \
| sort \
| uniq

и создайте файл hors.txt , чтобы сопоставить авторов SVN с учетными записями, которые вы хотите использовать в git.

Выполнить svn2git:

mkdir new-git-repos
cd new-git-repos
svn2git path-to-svn-repos --no-minimize-url --authors path-to-authors.txt

Проверьтеновый репозиторий git (git log, git tag, git branch -a и т. д.), переименуйте ветви и теги, если необходимо, и при необходимости отправьте новые репозитории на сервер.

См. svn2git README.md для большего количества рецептов.Используйте svnadmin , если у вас есть доступ к главному репозиторию svn, и вам необходимо применить более сложные перезаписи истории фиксации перед преобразованием в git.

...