如何在多站点场景中提高 CVS 性能?
我目前正在参与一个项目,开发人员在三个站点上工作。 其中一个地点位于印度德里,另外两个地点位于欧洲。 欧洲办事处和德里办事处之间的通信带宽很差,延迟也很差,即使只更改了几个文件,从那里进行 CVS 更新通常需要 5-10 分钟。
是否有任何好的 CVS 代理,或者任何保持单独的 CVS 服务器同步的巧妙方法? 对于如何在这种情况下提高性能,您还有其他建议吗?
不幸的是,在这个项目范围内我们将一直使用 CVS,因此短期内不可能切换到完全不同的东西。
I am currently working in a project with developers working on three sites. One of the sites is in Delhi, India while the other two are in Europe. The communication between the European offices and the office in Delhi has poor bandwidth and quite bad latency, and a CVS update from there often takes 5-10 minutes even though only a few files have changed.
Is there any good CVS proxies out there, or any neat way of keeping separate CVS servers in sync? Do you have any other tips on how the performance can be improved in this scenario?
Unfortunately, we will be stuck with CVS during the scope of this project, so switching to something completely different is not an option in the short-term.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不切换选项?
我强烈建议改用 SVN 或 git。 并且您尽快进行此转换...就像今天一样:)
甚至还有 svn 工具/指南 和 git 工具/指南 可以为您完成此 CVS 转换。
我个人在工作中使用并喜欢 SVN,但根据您上面的描述,听起来 git 可能是您更好的选择。
Why isn't switching an option?
I would highly recommend to switch to SVN or git instead. And that you do this conversion as soon as possible... like today :)
There are even svn tools/guides and git tools/guides out there that will do this CVS conversion for you.
I personally use and love SVN for my work, but based on your above description, it sounds like git might be the better option for you.
这是我很久以前在类似情况下所做的事情,当带宽和不可靠的网络成为问题时:
当您想在提交中授予对副本 1 的访问权限时,请按以下步骤操作:
这听起来很麻烦,如果您这样做的话确实如此手动,但它有效。 如果您手动执行此操作,则需要一些纪律。 也许时区这一次站在了你这边。
我编写了一个工具来跟踪谁拥有提交令牌,并通过 rsync 和 SSH 自动将存储库从一个站点传输到另一个站点。 几年来效果很好。 我们从未丢失任何数据,并且将令牌从一个位置转移到另一个位置大约需要 5 分钟。
该传输工具是用 Perl 编写的,我花了大约两周的时间来开发它,并全职致力于它。
我知道很久以前 FreeBSD 开发人员使用 CVSup 但我自己从未使用过该工具。
Here is what I have done a long time ago in similar circumstances when bandwidth and unreliable networks were an issue:
When you want to give access in commit to copy 1, proceed as follows:
This sounds cumbersome, and it is if you do it manually, but it works. It requires a bit of discipline if you do it manually. May be timezones are on your side for once.
I wrote a tool to keep track of who had the commit token and to transfer repositories from one site to another automatically via rsync and SSH. It worked nicely for a couple of years. We never lost any data and it took about 5 minutes to transfer the token from one location to another.
The transfer tool was written in perl and it took me about two weeks to develop it, working on it full time.
I know that a long time ago FreeBSD developers used CVSup but I never used that tool myself.