善意提醒

如果您打开本站很慢,布局排版混乱,并且看不到图片,那么可能是因为您还没有掌握用科学的方法上网的本领。

2006-09-05

CVS还是VSS?

上个月安排一个手下去研究 CVS,研究完后给大家做培训。培训时间就在今天上午,因此今天上午早早地就去了。

听过之后,感觉 CVS 对于我们现在的情况可能并不是一个很合适的解决方案。它的特点是对源代码的管理能力比较强,支持代码冲突合并,而锁定机制被弱化。它假定代码冲突一定会存在,并把处理的责任扔给开发人员。

我想,对于一些 CVS 应用得比较好,或者说比较合适的场合,多是 Commit 和 Update 的角色分工比较明确。简单地说,适合用于分发、共享代码,而不是协调一个小组的内部成员的工作。一个小组的内部成员,工作角色很可能是平等的。大家都有修改代码和获取新代码的需求,也就是说都在自由地,而且很可能是频繁地 Commit 和 Update。那么代码冲突发生的机会太大了,这样做成本可能会很高。可能需要每个人花不少时间去核对自己的代码和别人代码的不同之处,甚至可能需要一个「仲裁者」。虽然可以通过人为规定来减少冲突的发生,不过那样就和我上版本控制系统的初衷相悖了。

于是决定还是使用 VSS 来完成版本控制的功能。这样起码只要规定每个人要获取代码只能从 VSS 来 CheckOut 就可以了。

没有评论:

发表评论