我可以想象多个程序员如何同时在同一个代码库上密集工作的系统。
我认为当连接到代码库的程序员之一开始编辑它时,服务器上的版本控制系统应该能够锁定一个文件进行编辑关于代码库更改的实时通知并将更新的文件推送给其他人(通过通知或自动更新)
即时讨论变更集,显示提交和差异(一些集成的源历史浏览器,如 Trac 或类似的也可以)
与某些特色 IDE(如 Netbeans 或 Eclipse)集成的解决方案
但是有什么便宜的(完美的开源)解决方案呢?
您测试过哪些系统并且可以推荐我使用?
编辑 1:
建议的解决方案不必提供我写的所有功能。该列表是我想象的该系统可能具有的列表,而不是需求列表。问题更多的是关于如何解决“svn/cvs/etc 上的多用户工作”以及您最喜欢什么解决方案。
编辑 no.2
围绕@thiton 评论
的一点点 指出存在称为 RCS(修订控制系统)的东西是非常重要的。据我所知,RSC 是 CVS 的祖先。CVS 作为一个概念在 svn、git、mercurial、bazaar 等中实现......
我们从 RSC 转移到其继任者的原因是,旧的做事方式正在减慢和过度复杂的团队工作。锁定文件并仅在编辑结束后释放它们,这不是我们想要的方式。现在,由于我们可以撤销对单个文件的更改(将其恢复为给定的修订号)并修复我们或其他人的错误,因此需要这样做。
所以我删除了我列表中的第一点(注意它不是按优先级降序写的),感谢@thiton 提醒我。