Первый шаг нашей комбинации для перехода с TFS на меркуриал — конвертация из TFS в SVN. Если SVN-сервер под рукой есть, то всё отлично; если же его нет (как его не было у меня), то волей-неволей придётся приобретать навык его настройки.
Я описываю путь, которым шёл сам; скорее всего, многие вещи можно было бы сделать и по-другому.
Я использовал SVN версии 1.6.6, собранный для Windows; брал я его с tigris.org.
Сервер можно настроить для работы в качестве Windows-сервиса или запустить только на время конвертации (если больше он не будет нужен).
В любом случае, на машине, где будет запущен сервер, нужно создать каталог для репозиториев, например D:\env\svn
.
(tfs2svn
можно запустить и без SVN-сервера, если репозиторий расположен на той же машине, на которой запускается конвертер. Однако этим вариантом я не пользовался.)
Чтобы запустить SVN как сервис, выполните команды:
sc create svn binpath= "c:\Progra~1\Subversion\bin\svnserve.exe --service -r d:\env\svn" displayname= "Subversion Server" depend= Tcpip start= auto sc start svn
Будьте внимательны с пробелами. После создания сервиса можно настроить режим его запуска при помощи аплета Services в панели управления.
Однократный запуск выполняется так:
svnserve -d -r d:\env\svn
Дальше необходимо создать репозиторий:
svnadmin create d:\env\svn\myapp
tfs2svn
меняет при конвертации свойства коммитов задним числом: в частности, чтобы коммиты в сконвертированном репозитории были правильно датированы. Для того чтобы это работало, надо создать в каталоге репозитория (d:\env\svn\myapp
) файл hooks\pre-revprop-change.bat
с таким содержанием:
echo ok
Чтобы настроить аутентификацию, нужно раскомментировать в файле conf\svnserve.conf
в каталоге репозитория строчку password-db = passwd
в секции general
, после чего указать логин и пароль (открытым текстом) в файле conf\passwd
, например:
[users] helgi = BoZo
Следующим шагом будет патченье tfs2svn
и его запуск.
← | Музей-усадьба Архангельское | Если бы системы контроля версий были транспортными средствами | → |