Переход

В этом руководстве по миграции рекомендуется односторонняя синхронизация из SVN в Git во время переходного периода. Это означает, что пока ваша команда привыкает к работе с Git, ее участникам все равно нужно использовать только исходный репозиторий SVN. Когда вы будете готовы к переходу, репозиторий SVN будет заморожен в текущем на тот момент состоянии. Затем разработчики начнут создавать коммиты в свои локальные репозитории Git и делиться ими через Bitbucket.

/wac/git-microsite/images/tutorials/migrating/migrating-migrate/01.svg

Отдельный переход с SVN на Git способствует интуитивно понятной миграции. К этому моменту все ваши разработчики разберутся в новых рабочих процессах Git, которыми им предстоит пользоваться, и у них будет достаточно времени, чтобы опробовать команды Git в локальных репозиториях, клонированных из Bitbucket.

На этой странице вы найдете информацию о последнем шаге миграции.

Синхронизация репозитория Git

Прежде чем завершить миграцию на Git, убедитесь, что ваш репозиторий Git содержит все новые изменения, внесенные в репозиторий SVN. Это можно сделать с помощью того же процесса, который описан для этапа синхронизации.

git svn fetch
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force

Резервное копирование репозитория SVN

Несмотря на то что вы по-прежнему можете просмотреть в перенесенном репозитории историю проекта, сохраненную до перехода в Git, рекомендуется создать резервную копию репозитория SVN на тот случай, если вам понадобится изучить необработанные данные SVN. Простой способ создать резервную копию репозитория SVN — это выполнить приведенную ниже команду на машине, где размещен центральный репозиторий SVN. Если ваш репозиторий SVN размещен на Linux-машине, вы можете использовать следующую команду:

svnadmin dump  | gzip -9 >

Замените репозиторий-svn на путь к репозиторию SVN, для которого вы создаете резервную копию, а файл-резервной-копии — на путь к сжатому файлу, содержащему резервную копию.

Установка режима «только чтение» для репозитория SVN

К этому моменту все ваши разработчики должны освоить Git. Чтобы обеспечить соблюдение соглашения, вы можете установить для репозитория SVN режим «только чтение». Этот процесс может отличаться в зависимости от настроек сервера, но если вы используете демон svnserve, то это можно сделать, отредактировав файл conf/svnserve.conf репозитория SVN. Раздел [general] должен содержать следующие строки:

anon-access = read auth-access = read

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

Тема

Из этой статьи вы узнали, как перенести проект в Git. Теперь ваша команда может работать с чистым рабочим процессом Git и пользоваться всеми преимуществами распределенной разработки. Отличная работа!

Рекомендовано для вас

Блог Bitbucket

Образовательные программы DevOps

Подробнее о Git

В этом разделе вы найдете другие руководства и ресурсы по Git.