Назад | Перейти на главную страницу

В чем заключаются проблемы при переносе сервера / репозитория SVN с Linux на Windows?

У нас есть сервер под управлением Fedora 7, который мы используем в качестве сервера репозитория SVN. Новые ИТ-политики, в которых я работаю, требуют, чтобы мы подключились к Windows, если мы хотим, чтобы наш сервер был в сети.

Какие проблемы необходимо преодолеть, чтобы сделать этот шаг? Некоторые из этих элементов могут использоваться для создания исключения из политики.

Небольшой чек-лист:

  • Метод доступа. Если вы получаете доступ к своему серверу SVN через SSH, вы можете подумать о переходе на HTTP, поскольку он много более распространен в Windows.
  • UUID. Если вы перемещаете репо, просто не забудьте сделать старое недоступным или доступным только для чтения. Затем вы даже можете повторно использовать тот же UUID и наслаждаться --relocate вариант switch подкоманда на клиенте для плавного перемещения (нет необходимости в новой проверке)
  • Apache. Возможно, у вас уже есть IIS (или другой веб-сервер на коробке), поэтому вам следует изменить
  • База данных. Если вы используете FSFS в качестве базы данных репозитория, вы можете просто скопировать ее. BDB требует svn dump/load цикл. Хорошо подумайте, если вы хотите разместить свою базу данных в общей сетевой папке: будет работать только FSFS (хотя это не рекомендуется).
  • Пользователи. Вы должны подумать о том, как будут проходить аутентификацию ваши пользователи. Это может быть так же просто, как копирование htpasswd файл закончен.
  • Версия SVN. Просто помните, что вы используете ту же версию своего сервера SVN. Если нет, вам может потребоваться svn dump/load цикл.
  • Крючки. Если у вас есть хуки на вашем SVN-сервере, возможно, вам придется их перенести. Либо установив тот же язык сценариев (например, ActivePython или ActivePerl), либо просто переписав их в vbs или аналогичном.
  • Брандмауэр. На всякий случай, если ваш серверный ящик находится в версии для рабочей станции, не забудьте открыть порты брандмауэра (довольно тривиально, но меня однажды укусили).

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

Сброс / загрузка будет правильной процедурой и защитит вас от любых проблем. Видеть книга svn

Запуск VisualSVN сервер на винде было очень гладко. VisualSVN Server может содержать любое количество независимых репозиториев Subversion.

Вы можете перемещать репозитории любым рекомендованным Subversion методом, это стандартный репозиторий с обеих сторон. Обратите внимание на версию репозитория, вам может потребоваться обновление. Разрешения доступа ориентированы на окна, возможно, вам придется изменить способ аутентификации клиентов на сервере. Удачи со скриптами хуков, если они есть. Надеюсь, они написаны на переносимом языке сценариев, например Perl или Python.

Если вы пытаетесь сделать обратный ход - используя svnadmin в Windows для создания файла дампа репозитория - обязательно используйте командную строку cmd.exe, а НЕ PowerShell.

Я сделал это и обнаружил (на собственном опыте), что перенаправление вывода из PowerShell приводит к появлению файла Unicode, который svnadmin не может прочитать, когда вы загружаете тот же файл в целевой репозиторий. Также требуется намного больше времени для запуска (и, очевидно, файл вдвое больше).