我们使用一种名为Kiln的优秀DVCS主机,它基于Mercurial http://www.fogcreek.com/kiln/
我们还使用来自同一提供商的FogBugz作为票证,这使我们可以集成我们的开发者票证和SCM。这种组合真的很精彩。窑还允许代码评论,但选项仍然有限,它有点像半功能。
使用Kiln权限,您可以有效地创建一个线性管道或一个足够接近它的管道...给一些用户只读权限,例如......并且还让您的开发人员在内部自由使用DVCS ......这坦率地说要好得多。
毫无疑问,Git是一款比Mercurial更好的SCM,但是它需要3年的日常使用才能实现差异化,Mercurial本身就是一个很棒的工具,而且Kiln是一款极好的产品...我100 %支持Kiln / FogBuz组合作为我用过的最好的SCM SaaS。
考虑到你想要“锁定已检出的代码(这样只有一个人可以锁定代码)”,这就排除了任何像Git或Mercurial这样的分布式VCS。 (然而, 合并模型有其优点 )
你仍然可以使用[SVN(集中式VCS),它允许 锁定 个别档案 但是。 你甚至可以从中受益 网上免费 私人的 回购协议 。
现代风格不是使用锁定而是使用与DVCS合并。
你应该看看:
可能还有其他六个我错过的竞争者。前三个有最大的追随者;你可能不会对它们中的任何一个做错(尽管Subversion不是DVCS)。
对于你的要求,我认为SVN是最好的选择。
也许您可以从架构级别看这个并更改您的代码布局以获得更加分层的方法,然后在整个团队中划分工作,这样您就可以更少地踩到彼此的脚趾。
或者利用分支和合并更多来按功能分离开发。
您现有的代码管理仍然适用,但希望您最终会减少冲突。