源代码控制系统我还是觉得VSS最好,觉得Borland的StarTeam和Visual SVN挺垃圾的

时间:2020-12-09 10:51:11
     源代码控制系统我还是觉得VSS(Visual Source Safe)最好,觉得Borland的StarTeam和Visual SVN挺垃圾的。为什么这么说呢?我感觉VSS可能功能上简单点,但是采用了文件独占(check out)机制,这样用起来比较方便,特别适用于新手;而Borland的StarTeam和Visual SVN,可以多人check out一个文件,最后merge(翻译叫融合吧)。我就老疑惑:这个融合工作谁来做呢?我感觉谁来做都不合适。公司的新手老向我抱怨:每天使用Visual SVN来commit老出错。开始我都疑惑:commit怎么会出错呢?难道它不是采用VSS的文件独占机制吗?一问之下,居然可以多人同时check out一个文件。我实在想不清这样搞有什么好。

    欢迎大家参与讨论。

30 个解决方案

#1


其实不管是哪种,只要用习惯了就好,我以前公司用SVN,不是因为它做的好,而是它不要钱。

#2


除了资源同步的时候SVN容易出错,在代码同步时SVN还是很不错的啊。很专业,注明和移植功能很好的。只是管理SVN的必须是老手不然毛病会很多的。因为SVN上手时麻烦很多

#3


小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。

#4


引用 1 楼 cnzdgs 的回复:
其实不管是哪种,只要用习惯了就好,我以前公司用SVN,不是因为它做的好,而是它不要钱。


    我只是觉得SVN特别不适合新手。

#5


引用 3 楼 codewarrior 的回复:
小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。


    像这种项目我们公司还真没有。

#6


因项目而异

#7


引用 6 楼 n_yHHy_n 的回复:
因项目而异


     大侠,具体说说,让我长一下见识。

#8



应该说VSS跟VS结合的很好,用起来舒服。

要说功能的话,Perforce才是最强的。

#9


VSS新版本的也允许多人同时checkout

#10


教下就会了嘛,不会的就问同事,别把别人的代码给冲掉就好,免得白费劳动
反正我们也用SVN,感觉这工具确实不错,而且是免费的,源代码管理我觉得是首选

#11


引用 5 楼 clever101 的回复:
引用 3 楼 codewarrior 的回复:
小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。 
 

    像这种项目我们公司还真没有。

我只是举个例子,developer不在一个城市或者不在一个大楼里,这种lock方式就很麻烦。
VSS就设计用来管理小型项目的,VSS6还只能在局域网环境内用,使用Windows的共享目录功能。
Subversion和CVS则可以用来管理很大型项目的。

我们不用SVN,不过也差不多的系统:
developer把source全部sync下来,然后用命令edit需要编辑的文件,在本地修改;
developer可以随时sync最新代码。如果有人和自己更改了同样的文件,版本控制系统会尝试自动merge修改,如果系统merge失败,会提示需要手工resolve冲突,一般工作量都不大。
check in之前,向导会提示被修改的文件有没有sync到最新,若没有,会强制要求先sync,resolve冲突,然后再check in。

#12


引用 11 楼 codewarrior 的回复:
VSS就设计用来管理小型项目的,VSS6还只能在局域网环境内用,使用Windows的共享目录功能。 


VSS结合VPN或其他虚拟网段技术就可以实现INTERNET应用了
又或者结合SOS直接上TCP连接方式了

#13


vss2005支持多终端同时checkout,而且也支持HTTP连接方式,分布式访问是没有问题的。
不管用哪种,习惯了就好,按我的习惯还是使用VSS,就因为简单。
我的机器上不光装了VSS,也安装了SVN和HG,不过都是客户端,不是服务器。

#14


我习惯使用SVN来管理、备份 自己的代码。另外,Visual SVN不好用,没有VSS和VS结合的好。

#15


  呵呵,看看大家精彩的评论

#16


我汗。免费的用SVN。收费的用P4. 没见过那个大公司脑子进屎了用VSS。连M$自己都不用。。。

#17


VSS 几千个人操作 会死人的

晕死

CVS commit都容易 2个人同时做, 不过 各各 team 权利不一样
考虑先后乐


SVN 多人的还没有尝试过 几百个的

一直没敢试验, 目前只是开源用用

#18


习惯就好

#19


SVN免费,挺好的。习惯了就好

#20


不敢说哪个不好,
楼上为什么强调svn是免费的呢?
我们用vss也没掏过钱啊,就连vc也是免费安装的啊.

#21


引用 20 楼 laocui172 的回复:
不敢说哪个不好, 
楼上为什么强调svn是免费的呢? 
我们用vss也没掏过钱啊,就连vc也是免费安装的啊.


俺是 D 版,坚决顶这个!
在国内,版权意识还没有老外那么强烈,当然,合资或者外资公司例外

#22


M$自己不用VSS,难到用SVN?
或者是MS内部用的管理工具,不对外。?

#23


SVN好,P4也不错

#24


没用过

#25


俺以前用cvs,后来用svn,感觉svn更好使。

#26


俺们这就用svn, 200多人一半在另一个城市,因为不远总跑来跑去,svn对内外网不是一个ip情况支持不好,虽然有解决办法,但这种情况我想是很多的,如果在内网还是外网ip又慢如牛,不爽

#27


该回复于2011-05-05 13:22:29被版主删除

#28


恰恰相反,多人check out正是强大之处,可以支持分支并行开发,好好体会一下吧。
我们在用starteam,版本管理这块非常强大,还可以创建view。

#29


我也觉得VSS最好用

#30


怎么没有听到一个用starteam的呢?难道俺们公司。。。。。。。。我以前也用svn不管是在windows还是在linux下都好用,但是现在要用starteam感觉相当的蛋疼!

#1


其实不管是哪种,只要用习惯了就好,我以前公司用SVN,不是因为它做的好,而是它不要钱。

#2


除了资源同步的时候SVN容易出错,在代码同步时SVN还是很不错的啊。很专业,注明和移植功能很好的。只是管理SVN的必须是老手不然毛病会很多的。因为SVN上手时麻烦很多

#3


小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。

#4


引用 1 楼 cnzdgs 的回复:
其实不管是哪种,只要用习惯了就好,我以前公司用SVN,不是因为它做的好,而是它不要钱。


    我只是觉得SVN特别不适合新手。

#5


引用 3 楼 codewarrior 的回复:
小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。


    像这种项目我们公司还真没有。

#6


因项目而异

#7


引用 6 楼 n_yHHy_n 的回复:
因项目而异


     大侠,具体说说,让我长一下见识。

#8



应该说VSS跟VS结合的很好,用起来舒服。

要说功能的话,Perforce才是最强的。

#9


VSS新版本的也允许多人同时checkout

#10


教下就会了嘛,不会的就问同事,别把别人的代码给冲掉就好,免得白费劳动
反正我们也用SVN,感觉这工具确实不错,而且是免费的,源代码管理我觉得是首选

#11


引用 5 楼 clever101 的回复:
引用 3 楼 codewarrior 的回复:
小型项目尤其是所有的developer都坐在一起的时候,用VSS既简单又方便。但是VSS确实是不适合用在大型项目中。比如一部分developer在中国,一部分developer在美国,这边睡觉那边干活,这种情况下用VSS,简直是脑子被驴踢了。 
 

    像这种项目我们公司还真没有。

我只是举个例子,developer不在一个城市或者不在一个大楼里,这种lock方式就很麻烦。
VSS就设计用来管理小型项目的,VSS6还只能在局域网环境内用,使用Windows的共享目录功能。
Subversion和CVS则可以用来管理很大型项目的。

我们不用SVN,不过也差不多的系统:
developer把source全部sync下来,然后用命令edit需要编辑的文件,在本地修改;
developer可以随时sync最新代码。如果有人和自己更改了同样的文件,版本控制系统会尝试自动merge修改,如果系统merge失败,会提示需要手工resolve冲突,一般工作量都不大。
check in之前,向导会提示被修改的文件有没有sync到最新,若没有,会强制要求先sync,resolve冲突,然后再check in。

#12


引用 11 楼 codewarrior 的回复:
VSS就设计用来管理小型项目的,VSS6还只能在局域网环境内用,使用Windows的共享目录功能。 


VSS结合VPN或其他虚拟网段技术就可以实现INTERNET应用了
又或者结合SOS直接上TCP连接方式了

#13


vss2005支持多终端同时checkout,而且也支持HTTP连接方式,分布式访问是没有问题的。
不管用哪种,习惯了就好,按我的习惯还是使用VSS,就因为简单。
我的机器上不光装了VSS,也安装了SVN和HG,不过都是客户端,不是服务器。

#14


我习惯使用SVN来管理、备份 自己的代码。另外,Visual SVN不好用,没有VSS和VS结合的好。

#15


  呵呵,看看大家精彩的评论

#16


我汗。免费的用SVN。收费的用P4. 没见过那个大公司脑子进屎了用VSS。连M$自己都不用。。。

#17


VSS 几千个人操作 会死人的

晕死

CVS commit都容易 2个人同时做, 不过 各各 team 权利不一样
考虑先后乐


SVN 多人的还没有尝试过 几百个的

一直没敢试验, 目前只是开源用用

#18


习惯就好

#19


SVN免费,挺好的。习惯了就好

#20


不敢说哪个不好,
楼上为什么强调svn是免费的呢?
我们用vss也没掏过钱啊,就连vc也是免费安装的啊.

#21


引用 20 楼 laocui172 的回复:
不敢说哪个不好, 
楼上为什么强调svn是免费的呢? 
我们用vss也没掏过钱啊,就连vc也是免费安装的啊.


俺是 D 版,坚决顶这个!
在国内,版权意识还没有老外那么强烈,当然,合资或者外资公司例外

#22


M$自己不用VSS,难到用SVN?
或者是MS内部用的管理工具,不对外。?

#23


SVN好,P4也不错

#24


没用过

#25


俺以前用cvs,后来用svn,感觉svn更好使。

#26


俺们这就用svn, 200多人一半在另一个城市,因为不远总跑来跑去,svn对内外网不是一个ip情况支持不好,虽然有解决办法,但这种情况我想是很多的,如果在内网还是外网ip又慢如牛,不爽

#27


该回复于2011-05-05 13:22:29被版主删除

#28


恰恰相反,多人check out正是强大之处,可以支持分支并行开发,好好体会一下吧。
我们在用starteam,版本管理这块非常强大,还可以创建view。

#29


我也觉得VSS最好用

#30


怎么没有听到一个用starteam的呢?难道俺们公司。。。。。。。。我以前也用svn不管是在windows还是在linux下都好用,但是现在要用starteam感觉相当的蛋疼!