好久以前就想弄一个版本控制的东东了,一直忙着没时间弄。趁着这两天师兄给我们放假,初略的研究了一下。想起来应该挺简单的,可是实际操作起来,还真出了不少麻烦^_^不过还是很有成就感的。想当年哪位同学班上做报告时就介绍了这个,可惜当时没什么感觉。哈哈,落后了啊
经过一阵搜索,目标主要定位在了CVS,SVN和VSS(Visual SourceSafe)这三个中间。似乎国内大家基本都是在这三个中选择,不过后来发现一篇国外的文章(http://better-scm.berlios.de/comparison/comparison.html),才知道原来还有那么多的版本控制工具,可惜没有那个时间,也没那个精力一个一个地试。
最开始对VSS挺感兴趣的,这个是ms的东西,和VC以及VS都结合得很好。不过考虑到还要使用eclipse开发,VSS可能不支持。另外,资料显示VSS并不太适合跨Internet的协作。所以,没有对它进行试用。
由于eclipse集成了对CVS的支持,所以第一个试用的就是CVS了。windows平台下最好的组合就是CVSNT+WinCVS了,可惜我装了WinCVS之后总是配置不好,后来就改用了SmartCVS。这个一个java写的工具,界面比WinCVS好看多了,也没那么复杂。
安装好之后就是权限设置,最开始想用CVSNT自身的权限控制结构(参考资料:http://blog.csdn.net/zblue78/archive/2006/03/18/608242.aspx),可惜尝试的结果不怎么尽人意,始终没能给每个用户分别设置权限,似乎都是和关联的系统账户一样的权限。后来改用第二种方法(参考资料:http://www.clinux.org/forum/showthread.php?threadid=4281),使用系统账户,基于NTFS分区上权限设置来控制用户的权限。这种方法比较简单,也挺成功的。
原本以为大功告成,不用再试SVN了呢,突然又蹦出了一个中文文件名不能导入的错误。真是麻烦,而且似乎还没法解决。最开始以为是SmartCVS的问题,可是到SmartCVS的新闻组看了才知道,其他人也遇到了同样的问题,而更糟糕的是,似乎问题是出在CVSNT。后来又发现有人说2.5版CVSNT在格式上作了调整,所以出了问题。换最新的2.6,居然装不上,也不知道为什么。又换老版的2.0,装是装上了,可问题依然如故。
真是没办法了,只好放弃CVS了,改试SVN了。资料显示SVN比CVS更强,对二进制文件的支持也更好,似乎对中文的支持还不错。说干就干,立马开工,把Subversion 1.3.2下了回来,又把比较流行的客户端TortoiseSVN下了回来(要注意和Subversion版本匹配,因为Subversion的数据格式有变)。可是不怎么喜欢TortoiseSVN的使用方式,决定换用SmartCVS的同胞兄弟SmartSVN。一切还算顺利,权限的设置也轻松完成了。具体的过程这里就现不写了,下次再写吧^_^


