复制版本控制库的最佳方法是什么?
问题描述:
这是我有的场景。我在一个位置有一个cvs存储库(A),我想复制它并使其与另一个位置的存储库同步(B)。这将是从A到B的单向同步。什么是最好的方法来做到这一点?如果它在CVS中并不真的可行,那么你会推荐哪种源代码控制系统来实现这一目标?谢谢复制版本控制库的最佳方法是什么?
答
当使用CVS时,除了文件同步之外,我不知道有任何工具可以执行此操作。您可以使用如rsync
(Unix)或xcopy
/robocopy
(Windows)的工具来实现此目的。
如果您计划迁移到Subversion,它提供了一个名为svnsync的工具,它允许从另一个版本库中同步存储库。
答
如果您确实采用了CVS的rsync/filecopy方法,那么仅在没有活动提交时才同步文件是很重要的。否则,系统信息库的锁定文件将被复制,直到下一次同步时,您将无法在目标端检出/更新。
这个原因可能会让CVS成为一个不好的选择。从CVS到Subversion的迁移路径非常流畅,并且有工具可以将带历史记录的完整CVS回购库导入到Subversion中。
如果您想要进入真正的分布式版本控制,请考虑使用Git或Mercurial,但听起来这对于您的“只读”需求来说是过度的。