题
我目前正在一个项目与开发工作在三个地点。网站之一是在印度,德里,而其他两个在欧洲。之间的通信的欧洲办事处和该办事处在德里有穷人带宽和相当糟糕的延迟,并CVS更新从那里往往需要5-10分钟即使只有一些文件已经改变。
是否有任何良好CVS代理人,或任何简洁的方式保持独立CVS服务器同步?你有任何其他的技巧,如何可以改进在这种情况?
不幸的是,我们将坚持CVS在本项目范围,使交换的东西完全不同的不是一个选项中短期的。
解决方案
为什么不切换选项?
我强烈建议改用SVN或git。而且你要尽快进行转换......就像今天一样:)
甚至还有 svn工具/指南和 git tools / guides 那里将为你做这个CVS转换。
我个人使用并喜欢SVN用于我的工作,但根据您的上述描述,听起来git可能是更适合您的选择。
其他提示
这里是我做了什么很久以前在类似情况下时带宽和不可靠的网络是一个问题:
- 作拷贝的储存库,并将其安装在远程位置。你知道有CVS1和CVS2.
- 锁两个副本(CVS1)通过防止提交。这是通过修改'commitinfo'在CVSROOT模块。
- CVS1可用于只更新
- CVS2可用于更新和提交
当你想要访问在致力于复制1,继续进行如下:
- 锁CVS2
- 复制CVS2到CVS1
- 解开CVS1
这听起来很麻烦,以及它是如果你做手动,但它的工作。它需要一位的学科如果你做手工。可以的时区是在你的身边。
我写的一个工具来跟踪谁有提交令牌和传输的存储库,从一个地点到另一个自动通过可与SSH。它工作好几年。我们从来没有丢失任何数据和花了大约5分钟的转移令从一个地点到另一个。
传送工具是perl编写和我花了大约两个星期的发展,工作就可充分的时间。
我知道,很久以前FreeBSD开发人员使用 CVSup 但我从来没有使用这一工具我自己。
不隶属于 StackOverflow