SVN Read/Write proxy - двухсторонний svnsync

На работе у нас есть сервер SVN. Мы получаем к нему доступ через TortoiseSVN, VisualSVN Server и Eclipse (с подключаемым модулем Subclipse для интеграции с SVN). Офисный сервер SVN работает только днем ​​и отключается на ночь. У нас есть серьезные проблемы с операциями по поддержанию работы сервера в течение полных 24 часов.

Основная бригада работает только днем, а ночью работает небольшая бригада. У них нет доступа к серверу SVN, потому что сервер выключен.

Я мог бы использовать svnsync для настройки репозитория только для чтения на размещенном сервере. У нас есть VPS. Но нам нужен коммитируемый сервер чтения/записи. ночной сервер и дневной сервер могут синхронизироваться друг с другом.

Весь сервер SVN можно было бы перенести на VPS, но он медленный, и нам нравится наша локальная сеть со скоростью GBps.

Любые идеи..??


person inquisitive    schedule 15.09.2013    source источник


Ответы (2)


Какие? Они закрывают сервер Subversion на ночь?

Subversion — это централизованный репозиторий. Это не тот случай, когда кто-то в Индии пытается получить доступ к хранилищу в Калифорнии через очень медленное соединение. Если этот офис просто выключит свет в 17:00, вы мало что сможете сделать. Я сомневаюсь, что они хотят платить за продукт Wandisco, если они не хотят платить за поддержание сервера в рабочем состоянии, когда люди, которым они платят, должны работать.

Возможные решения:

  • Перейдите на распределенную систему, такую ​​как Git. Вы можете извлекать изменения из их репозитория Git в другой общий репозиторий, а затем извлекать и отправлять свои изменения в этот второй репозиторий по ходу работы. Утром вы можете отправить данные из этого репозитория обратно в основной корпоративный репозиторий. Конечно, это означает настройку второго репозитория. И Git не волшебный. Он не может получить данные из репозитория, который отключен. Вы должны убедиться, что получили последние изменения, прежде чем они закроются.

  • Другое решение, не связанное с переходом на Git, — использование git-svn. Git немного сложнее, чем Subversion, просто потому, что теперь вы имеете дело с несколькими репозиториями. Если у вас есть компания, которая закрывает необходимые ресурсы, я не могу поверить, что они смогут поддерживать репозиторий Git. Вы используете git-svn для вытягивания проекта, как если бы это был репозиторий Git, затем вы можете использовать свои локальные репозитории как репозитории Git, что означает, что вы можете фиксировать и извлекать изменения, создавать ветки и т. д. И поделитесь изменениями между вашими коллегами.

  • Возможно, лучшее решение — использовать облачный сервис, такой как Amazon, для создания виртуального хоста, который может не спать 24 часа и иметь некоторый опыт, который может гарантировать, что он не будет спать. Таким образом, они все еще могут выключать свет в 17:00, но репозиторий Subversion не будет работать. Конечно, это означает, что ваш ценный источник будет находиться на стороннем сервере, но многие компании доверяют таким сторонам, как Amazon, обслуживание своих виртуальных компьютеров.

person David W.    schedule 16.09.2013

Вы не можете найти решение, удовлетворяющее обоим требованиям

  • Бесплатно
  • Чистая подрывная деятельность

в то же время.

  1. С деньгами вы должны увидеть на WaNdisco SVN MultiSite (или SVN MultiSite Plus): обратите внимание на 8-ю причину из "10 причин использовать SVN MultiSite/SVN MultiSite Plus"
  2. С дополнительными (новыми) инструментами вы можете использовать (любой) мост DVCS+SVN для ночной работы — Git+Git-SVN или Mercurial+HGSubversion — и синхронизировать репозитории LAN и WAN... Для разработчиков из мира Subversion я предлагаю Mercurial в этом решении: более плавный путь, меньше головной боли (намного меньше!!!)
person Lazy Badger    schedule 15.09.2013