代码控管的工具很多,比较常用的有cvs,svn,perforce 和vss。
cvs,可以整合eclipse, 也可以单独的客户端使用。(wincvs)
svn,可以整合eclipse,visual studio. 也可以单独的客户端使用。(tortoisesvn)http://tortoisesvn.tigris.org/
vss,
perforce
VSS | CVS | SVN | Perforce | |
Ease of Deployment | Installation : step by step 傻瓜的安裝方式,基本上沒有配置的工作 Create new database : windows file system basic operations | Good. Out of being the de-facto standard, CVS is available on most systems and is easy to deploy. | Good | Good. For windows Server:perforce.exe client:p4vinst.exe |
Technical Status(Documentation) | 非常详实的MSDN帮助文档 | Excellent. There are many online tutorials and resources and an online book. The command line client also provides an online comprehensive help system. | OTB | Perforce.chm 英文版操作手册 |
Repository Permissions | by user/ by project/ by folder 提供desktop tool的配置方式 ,非常简便 此外,还提供了audit机制 | two ways:1. os user 2.cvs user | by user, by group.. | |
操作的方便性和习惯性(实际操作比较) | 傻瓜式 | by clent, or by command | ||
User Interfaces(hava web interface?) | desktop tool (无) | CVSweb, ViewVC, Chora, and wwCVS. | ||
文件锁定 | 有 | 无 | 有 | |
Per-File Commit Message | No. Commit messages are per change. | |||
Code Compare | 支持 | 可以使用cs-diff, beyond compare, examdiff等 在/wincvs preferrence/general/wincvs/设置 diff selection时注意选择使用extern diff | 内置merge tool | |
File and Directories Copies | 支持 | No. Copies are not supported. | ||
Files and Directories Moves or Renames | 支持 | No. Renames are not supported and a manual one may break history in two. | 支持 | |
同时间两个人Commit同一个档案时 | commit在前的会成功,在后的后发生冲突,需要update并手动修改后重新提交 | commit在前的会成功,在后的后发生冲突,需要update并手动修改后重新提交 | ||
第一次大量上传code | CVS 采用线性、串行的批量提交,即依次地,一个接一个地执行提交,每成功提交一个文件,该文件的一个新的版本即被记录到版本库中,提交时用户提供的日志信息被重复地存储到每一个被修改的文件的版本历史中。 | |||
是否曾经出现过系统lock的现象 | No found | |||
对于二进制文件的处理 | 对于二进制文件的历史版本,CVS 唯一能做的就是对不同的版本进行独立的、冗余的存储,哪怕版本之间其实只存在微小的差异。举例而言,一个10M 的二进制文件(照片、图形文件、机械设计文件、电子设计文件)假如每周修改一次,无论每次修改的大小,一年下来,仅该文件就要消耗500M 以上的存储空间。而且,客户端每次获取该文件的新版本都要消耗10M 的网络流量。 | 唯一能做的就是对不同的版本进行独立的、冗余的存储 | ||
是否原子性提交 | 否 | 否 | 是 | |
安全性 | 弱,VSS仅可在局域网内部使用,服务器仅作为一个文件服务器,不需要运行任何程序或者起后台服务,但必须要共享一个可写的文件夹。这成为了目前局域网上最容易被病毒入侵的地方,必须定期做好病毒检查工作,安装病毒放火墙。安全性比较差。 | 强,CVS在局域网或者广域网内都可使用,作为服务器不需要共享任何资料,但必须起服务,占用系统资源。客户端可以是任何不同平台,都是通过TCP/IP和特定的端口来访问CVS服务器,有不同安全等级的访问协议可供选择。安全性强适用面广。 | ||
NetWorking Support | Good. CVS uses a proprietary protocol with various variations for its client/server protocol. This protocol can be tunneled over an SSH-connection to support encryption. | |||
License取得成本 | free,open source | |||
可安裝的OS平台 | windows | Client works on UNIX, Windows and Mac OS. Server works on UNIXes and on Windows with a UNIX emulation layer. | UNIX, Windows …. | |
可集成IDE环境 | Microsoft Access,Visual Basic、 Visual C++、Visual FoxPro | Eclipse(内置),jBuilder(内置),Visual age for java IDE(插件),Visual Studio IDE(插件) | Eclipse(插件),jBuilder,Visual age for java IDE(插件),Visual Studio IDE(插件) | no |