都市边缘人 2008-4-25 09:48
CVS与SVN,你会丢弃哪个?
目前我司使用两种工具的都有,有人想统一成一种,却苦于找不到两种都精通的专家,无法给出专业而客观的意见。
我个人认为,存在即为合理。既然两者能共存这么久,说明其各有利弊。对于众多使用单一工具好几年的员工,简单粗暴的统一势必对工作造成很大的冲击。
大家的观点如何呢?如果能从性能、易用性等方面给出专家意见就更不胜感激啦~~
[[i] 本帖最后由 千寻 于 2008-7-15 09:07 编辑 [/i]]
都市边缘人 2008-4-25 09:50
先发一份网上较多的比较:
1 对重命名、删除文件的支持
cvs:不支持本地文件重命名提交。删除分remove和erase两种前者把本地和库中文件都删除 后者只是删除本地文件,不能删除文件夹
svn:支持文件重命名提交系统会提示删除旧文件,创建新文件。删除本地文件提交 库中文件也被删除
2 对中文路径名的支持
cvs:支持的比较好
svn:要将权限控制文件保存为svn支持的UTF-8格式
3 本地文件与库的对应关系
cvs:可以多对多
svn:一个库可以有多个工作目录但一个工作目录只能对应一个库 虽然可以更改库位置但是要求很严格
4 库中文件存放方式
cvs:完全用户可见方式与客户端文件夹结构完全一致(cvs生成文件除外)
svn:与vss相似,看不到文件真正的内容
5 用户、权限管理
cvs:管理员很难清楚的知道一个项目到底有多少个用户各用户的权限和密码是什么 只能用分组的方式管理用户而且密码和权限还是不清晰
svn:查看、修改配置文件即可
6 权限
cvs:有read、write、creat、none这四种权限,任何人不能删除文件夹(admin也只能跑到服务器上把相应文件夹残忍删除?我暂时只知道这个方法……汗-_-‖)
svn:只有read、write、none三种权限 creat和delete权限好象和write是捆绑在一起的
growup 2008-4-25 11:07
刚用svn,发现svn的branch/merge是基于"目录"维护,很灵活,所以它的branch/merge也强于CVS。但滥用"目录"可能导致仓库结构混乱,所以一定要先规划好目录结构,并对开发人员作多一点培训。
/tags和/branches应该只给少数人写权限。
hantiefeng 2008-4-25 11:35
用过codestriker么?
CMStruggling 2008-4-25 15:27
丢弃CVS,我觉得。
相对于CVS,
SVN在大多数功能上还是要优于它的,
要更实用一点!
irenejiajia 2008-4-25 16:44
正在研究SVN~~~
魔术师约翰逊 2008-4-25 20:37
我认为这其实不是个技术问题,而是个人际问题
LZ需要搞清楚:到底是谁想统一成一种?
如果是有决定权的领导,就问他喜欢哪个,然后就统一成这个;
如果是没有决定权的人想统一,就问有决定权的领导,他是否想统一,如果答案是肯定的,再问他喜欢哪个,然后就统一成这个;
我工作过的一个公司,一些人用VSS,另一些人用CVS,我当时也考虑过像LZ这样做个细致的比较,然后用好用的那个,最后发现其实根本没必要,首先,VSS和CVS其实没有那么大的分别(我认为SVN/CVS的分别也不是那么大),用哪个其实真的无所谓;另一方面,即使拿出了比较数据,证明某个更好些,但是,他们依然不会买账,因为,愿意用VSS的那群人的经理和愿意用CVS的那群人的头不对付,他们根本就不想向对方靠拢,怎么统一呢?
CMStruggling 2008-4-25 21:26
[quote]原帖由 [i]魔术师约翰逊[/i] 于 2008-4-25 20:37 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=87831&ptid=12148][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
我认为这其实不是个技术问题,而是个人际问题
LZ需要搞清楚:到底是谁想统一成一种?
如果是有决定权的领导,就问他喜欢哪个,然后就统一成这个;
如果是没有决定权的人想统一,就问有决定权的领导,他是否想统一 ... [/quote]
楼上的话有道理!
其实抛开技术,这个确实是最大的问题,楼主可以认真考虑下!
deanaa 2008-4-28 10:25
回复 沙发 的帖子
还需要考虑一点是SVN的第三方支持暂时还没有CVS好.....
yippeesoft 2008-5-6 08:40
还是SVN吧 毕竟是对CVS某些问题的改良版本
都市边缘人 2008-5-6 10:14
第三方支持主要指哪些?
目前的情况是,我司使用SVN的有50人左右,而使用CVS的人数是近二十倍>_<
目前的情况是,已经争取到了最起码不会丢弃SVN,可能出现的情况就是两者并存在服务器上面,或者只放SVN,HOHO~
PS:偷偷BS一下我司的IT人员,不会维护LINUX系统,,,服务器放入IT机房真不容易啊~~
maj 2008-5-6 18:12
我们现在用的是cvs,过段时间学习一下svn,比较一下。
sidenf_cvs 2008-5-7 16:00
正在使用cvs,有技术人员想用svn.正在研究中。我觉得不管是什么工具,毕竟只是工具,只要能管理,提高效率就好。
vivixd 2008-5-7 16:55
SVN其实就是不能容忍CVS的一些缺点,才被重新开发的,虽然代码是全新的,但是基本架构和CVS是一样的,并且SVN的风格就是尽量模仿CVS,所以可以说SVN是CVS的升级版。既然这样的话,楼主完全可以放弃CVS,而投向SVN的怀抱了。
scmscmscm 2008-5-8 14:14
愿意用CVS的项目就用CVS。
愿意用SVN的项目就用SVN。
既然两个都是免费的,在没有显著的差别的情况下,很少有项目组愿意付出学习新东西的时间成本。
而且,熟悉的东西会觉得更可靠一些。
如果有的项目组里,有些人以前是用CVS的,有些人以前是用SVN的,那么让项目组的人自己决定选用哪一种。
dreamyan 2008-5-9 13:33
svn更好一些吧,怎么说人家也是针对cvs的缺陷开发出来的改良版本
yjg021 2008-5-9 14:06
::em53:: ::em31:: 建议还是使用SVN最安全可靠,楼主可以将CVS库迁移到SVN库中,迁移过去后,历史版本信息还会保留记录在SVN库中。必定SVN使用方便快捷,也不需要烦杂的操作,CM只需简单的对公司员工培训一下,所有人都很轻松的会使用SVN。
callmechen 2008-5-10 10:41
还是选SVN吧。从它的设计初衷就能看出来了。