1. CVS简介
软件配置管理(SCM)技术是提高软件团队开发效率、增强软件开发能力的关键技术之一。现有的软件配置管理产品主要分为两类,一类是以CVS为代表的开放源码产品;另一类是以IBM Rational的ClearCase为代表的商业产品。前者是在全世界所有的开放源码项目中都必须采用,并且在大多数中小型商业软件项目开发中也得到优先采用的产品。后者则良莠不齐,其中ClearCase在多数大型商业项目中得到应用,Microsoft的SourceSafe等却被专家推荐只能用于实验性项目,而Borland的TeamWork和其它商业产品也始终没多少人知道。事实上,由于CVS在代码版本控制方面首先得到广泛应用,并藉此树立了标准,就如同Web服务器产品中的Apache Http Server,为商业产品进入该市场设立了极高水平的门槛,以至于除ClearCase等少数重量级产品以外,大部分商业产品都很不景气。
CVS的优点是简洁、实用、高效,它实现了既简单易学,又功能强大的目标。缺点是从一开始它就没有考虑过安全管理、存贮效率啦等等其它问题。它适用于中小规模,或者所有不须要在团队内部进行安全控制的项目。
而ClearCase的优点则是安全、庞大和包罗万象,缺点是安装配置复杂、学习曲线陡峭,除了高昂的价格以外,还要付出大笔的管理费用和培训费用。它适用于规模较大,或者所有必须要在团队内部进行安全控制的软件开发项目。
综上所述,无论是从软件版权保护的角度还是从纯技术的角度来看,我们在进行中小规模软件开发项目时,如果CVS能够满足要求,就应该使用CVS,而不是时髦流行的ClearCase之类大型CASE系统。否则就引入了不必要的成本、风险和复杂性,这种成本、风险和复杂程度往往超出项目组织的预计,从而导致许多必须依赖于团队协作能力的项目因此而惨遭失败。而CVS的安全性就是决定引入这些至命的成本、风险和复杂度的最主要的理由。本系列文章将从实用角度介绍如何在各种环境下配置安全的CVS系统,以满足大多数中小规模项目的需要。这些环境根据目前软件开发团队开发环境的常见配置情况分为:Windows客户端对Unix服务器、Windows客户端对Windows服务器、Unix客户端对Unix服务器以及Unix客户端对Windows服务器。