VSS和svn的区别是什么啊,尽量具体。。。谢谢

2025-01-07 23:50:55
推荐回答(3个)
回答1:

vss是微软收费的,svn是开源免费的
vss必须有客户端,svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问
vss只支持windows,svn支持windows和linux
vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式
vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库

目前用的最多的是svn,因为它开源、免费、有众多其它软件支持配合

另外提一句,一楼所说的“vss是svn的前身”这句话有问题,应该说“cvs是svn的前身”

回答2:

VSS是基于“锁定--编辑—解锁”模式的,这个模式有一个弊端,就是当其他人在编辑相关单元文件的时候,此单元文件处于锁定状态,其他人如果想编辑这个单元文件的话,只能处于等待状态。后来在持续集成中我使用的Subversion替代VSS,Subversion是基于“修改—冲突—合并”的一个模式,也就是说多个人可以同时签出一个单元文件,编辑然后提交,如果多个人都修改了同一文件的某一行的话,就会发生冲突,手工解决冲突。我自己的体会是,这种情况极少发生,更多的时候是:a同学编辑了File1文件的上半部分,b同学在File1文件的最后又添加了一些代码,这样是不会造成冲突的,而且本身这种多人编辑同一个文件的情况就很少。b同学不用因为a同学在编辑File1文件而只能等待,他也能同时编辑File1文件,直观的好处就是这样能提高开发速度。而且Subversion提供的配置文件非常容易掌握。可以快速配置出对于整个开发团队成员负责模块的读写权限配置,而且可以有组的概念[groups],这就直接对应了团队中以小组为划分的结构。而且有很多Subversion的扩展工具可以选择,我选择的是TortoiseSVN,我们都称它为“小乌龟”,这是一个和Windows操作系统Shell绑定的工具,它把所有对Subversion的操作都包装成了可视化操作,而且由于是和操作系统绑定的,任何一个目录都可以成为存放代码副本的地方,个人觉得非常好用,而且还有很多为Subversion编写的钩子脚本,可以让我们在版本控制这一块做的更好,后面有一个例子来说明我是如何使用钩子脚本的。

回答3:

vss是svn的前身,都用于版本控制。vss可以配合sos使用。