我正在一个项目中,我们正在使用CVS进行版本控制。 但问题是中央CVS服务器在Chennai(印度),我们必须每天访问或检查Gurgaon(印度)的代码。结账时大约需要7个小时。这很耗时。
我们想要的是我们需要配置本地CVS服务器并通过中央CVS serverm的checkout导入代码,以便我们可以轻松地从本地服务器签出。但是这一步有两个问题 -
是否可以通过检查中央CVS服务器中的代码并使用代码导入本地CVS服务器来创建本地CVS服务器?
如果可以采取第一步,我们如何将本地CVS服务器与中央CVS Serval同步
请帮助我。 或者有没有其他方法来实现我的目的?
答案 0 :(得分:-1)
CVS不是分布式版本控制系统,因此大多数实现不支持为同一存储库(即本地和远程)部署多个服务器的概念。
那就是说,the CVSNT page at Wikipedia注意到:
In November 2008 the project released version 2.5.04 with support for
multi site repository replication or 'local' repository caches and
specific performance features for using large files use over a WAN.
CVSNT现在是商业产品,因此这对那些喜欢免费解决方案的人来说是一个挑战。 (正如任何优秀的封闭式工具供应商所说,CVSNT赞赏 free不是免费的的说法,但这是完全不同的事情。)
由于CVSNT派生自CVS,因此将CVS存储库转换为CVSNT应该是微不足道的,并发复杂性最小。将复杂的CVS存储库迁移到DVCS不一定是微不足道的,也不一定没有风险,特别是如果CVS存储库持续干预修订,标记,分支和其他内容。
由于这种性质的任何努力可能需要在整个组织中进行重大更改,因此如果要开始这样的努力,考虑迁移到更普遍的DVCS的可能性似乎是明智的。
CVSNT并不是CVS存储库复制解决方案的唯一商业供应商。例如,维基百科的WANdisco页面说:
WANdisco provides replicated products for CVS, Apache Subversion, Git, Gerrit and Apache Hadoop.
请注意,提及商业产品绝对不是对它们的认可,也不是推荐。共享的信息只是为读者提供了在这种情况下可能选择的一些知识。
存在其他潜在的解决方案路径。关于“cvs repository replication”主题的Web搜索产生的结果表明某些CVS用户拥有像Distributed Replicated Block Device这样的工具来分发对存储库所在的文件存储的访问。
此外,为了更好或更糟,根据本地和远程开发之间的并发级别,有时可以利用DVCS来减少与远程服务器的交互而无需更改远程服务器,但确实认识到该段落以下内容仅用于向不希望因某种原因将远程存储库迁移到另一个VCS的人共享一个潜在的非显而易见的解决方案。
此受访者已经看到将CVS结账提交到DVCS的情况,以便其他开发人员可以利用DVCS以分布式方式处理结账。根据需要,基础CVS结账定期与CVS服务器合并。当然,这增加了显着的复杂性,在本地开发人员需要访问整个远程存储库的情况下并不令人满意,并且当本地和远程开发人员同时使用分支很高时很难实现。这个想法实际上只适用于远程和本地开发松散耦合的情况(即,存储库所在的远程开发人员不会过多地参与通过DVCS共享的代码)。
另见: * How to run CVS in parallel with a (“centralized”) DVCS repository?