Каков наилучший способ репликации хранилища контроля версий? - PullRequest
3 голосов
/ 19 августа 2008

Вот сценарий, который у меня есть. У меня есть хранилище cvs в одном месте (A), и я хочу скопировать его и синхронизировать с хранилищем в другом месте (B). Это была бы единичная синхронизация от А до Б. Каков наилучший способ сделать это? Если в CVS это невозможно, то какую систему контроля исходного кода вы бы порекомендовали для этого? Спасибо

Ответы [ 4 ]

4 голосов
/ 19 августа 2008

При использовании CVS я не знаю никаких инструментов для этого, кроме синхронизации файлов. Это можно сделать с помощью таких инструментов, как rsync (Unix) или xcopy / robocopy (Windows).

Если вы планируете перейти на Subversion, он предоставляет инструмент под названием svnsync, который позволяет синхронизировать репозиторий из другого.

3 голосов
/ 19 августа 2008

Я бы порекомендовал вам перейти с CVS на надлежащую распределенную систему управления версиями, такую ​​как git , которая обеспечит такую ​​функциональность очень естественным образом.

Subversion также предоставляет svnsync, который делает то же самое.

2 голосов
/ 19 августа 2008

Если вы используете подход rsync / filecopy с CVS, важно синхронизировать файлы только в то время, когда нет активной фиксации. В противном случае файл блокировки хранилища будет скопирован, и вы не сможете извлекать / обновлять на целевой стороне до следующей синхронизации.

Одна только эта причина может сделать CVS плохим выбором. Путь перехода от CVS к Subversion довольно плавный, и есть инструменты для импорта полного репозитория CVS с историей в Subversion.

Рассмотрите Git или Mercurial, если вы хотите получить истинно распределенное управление версиями, но, похоже, это будет излишним для ваших потребностей "только для чтения".

0 голосов
/ 19 августа 2008

Лучший (и, возможно, самый дорогой) способ - Clearcase Multisite

Но если вы ищете с открытым исходным кодом, Git быстро заменяет svn везде ..

...