Каков наилучший способ репликации хранилища контроля версий?

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

19.08.2008 12:48:21
4 ОТВЕТА
РЕШЕНИЕ

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

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

4
25.04.2012 16:59:20

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

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

2
19.08.2008 12:54:44

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

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

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

2
19.08.2008 13:04:06

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

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

0
19.08.2008 13:06:40