这是我的情况。我在一个位置 (A) 有一个 cvs 存储库,我想复制它并使其与另一个位置 (B) 的存储库保持同步。这将是从 A 到 B 的单向同步。做这个的最好方式是什么?如果在 CVS 中确实不可行,那么您会推荐哪种源代码控制系统来完成此任务?谢谢

有帮助吗?

解决方案

使用 CVS 时,除了文件同步之外,我不知道有什么工具可以做到这一点。您可以使用类似的工具来实现这一点 rsync (Unix)或 xcopy/robocopy (视窗)。

如果您计划迁移到 Subversion,它提供了一个名为 svnsync 的工具,允许从另一个存储库同步存储库。

其他提示

我建议您从 CVS 迁移到适当的分布式版本控制系统,例如 git, ,它将非常自然地提供此类功能。

Subversion 还提供了 svnsync 来完成同样的事情。

如果您确实采用 CVS 的 rsync/filecopy 方法,那么仅在没有活动提交时同步文件非常重要。否则,存储库的锁定文件将被复制,并且您将无法在目标端签出/更新,直到下次同步。

仅这个原因就可能使 CVS 成为一个糟糕的选择。从 CVS 到 Subversion 的迁移路径非常顺利,并且有一些工具可以将包含历史记录的完整 CVS 存储库导入 Subversion。

如果您想进入真正的分布式版本控制,请考虑使用 Git 或 Mercurial,但这听起来对于您的“只读”需求来说有点过分了。

最好的(也许也是最昂贵的)方法是 Clearcase 多站点

但如果你正在寻找开源, git 正在迅速取代 svn 无处不在..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top