Можно ли синхронизировать два SVN-сервера с каждым коммитом и оба с правами чтения / записи?

В настоящее время у нас есть локальный сервер, который используется в качестве основного репозитория SVN для команды разработчиков.

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

Локальный сервер будет использоваться в качестве резервного сервера, если сервер Azure отключен.

Вопрос в том;

  • Можно ли синхронизировать Azure и локальный сервер с каждым коммитом и оба с правами чтения / записи?

Наша версия сервера Subversion: Subversion Edge 3.0.1

2 ответа

Решение

Можно ли синхронизировать Azure и локальный сервер с каждым коммитом?

Конечно, вы можете использовать ловушки post-commit для запуска svnsync синхронизировать изменения.

и оба с правами чтения / записи?

Хм нет SVN не предназначен для использования таким образом. Вам понадобится одно мастер репо, на которое сделаны все коммиты. Этот мастер может быть синхронизирован с любым количеством ведомых только для чтения.

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

Но я хочу сказать:

Это хорошее время и повод для смены VCS. С DVCS (а именно - Mercurial) любое количество удаленных репозиториев в синхронизации вообще не является проблемой, в то время как двунаправленная синхронизация в чистом SVN - это чёрная магия

Другие вопросы по тегам