SVN对比VSS的优势
两者区别:http://www.cnblogs.com/zxjyuan/archive/2011/12/07/2280042.html
源代码管理工具是开发人员使用非常频繁的生产工具,只有更好更快才能提高效率,不应仅局限于签入签出。
1、 是否允许同时修改一个文件。
VSS: 不可以。第一个人修改后即为锁定状态。
SVN: 可以。
在两人(多人)同时开发同一个模块时,修改到同一文件是非常常见的情况。但VSS同一文件不能并行开发,这种情况下另一人只能等着,或者只好把代码写入其它文件等人家做完了再转移过来,费时费力。
SVN 可并行开发,合并签入。 如特殊情况(某人需要大量修改,而其它人很少会改动),为了防止并行开发,也可以执行锁定再签出。
2、 是否提供比较功能。
VSS: 提供,但比较薄弱,易于出错而且不友好,很多情况下无法正常比较。
SVN: 提供,功能强大。
在完成修改要签入时,最好是能先检查修改了哪些代码再签入,这样可避免将错误的代码(或者测试部分的代码)签入。
在代码已签入后,如发现修改后的代码功能异常,此时也需要检查两次历史代码存在哪些差异。
所以代码比较功能是非常必要的。
3、 回退到历史版本。
VSS: 不可以。只能手工提取代码再覆盖。
SVN: 可以。有 Revert 功能轻松做到。
在代码已签入,但又出现问题时,SVN比较方便。
4、 客户端软件的使用。
VSS: 必须开启VSS 软件才能管理。
SVN: 只要给一个url(如:https://xxx/svn/demo) 选定一个文件夹,右键即可get代码。 已经get的文件夹, 修改文件后, 可以直接到所在文件夹中去操作。 正常文件与修改过的文件对比非常明显。
5、 在VS中修改较多文件后的情况。
VSS: 如果不在同一文件夹,管理比较麻烦。如右图:在多个不同的文件夹中签出的文件,非常容易遗忘签入。
SVN: 如下图
在VS 下方列出所有修改过的文件,并提供右键查看修改(Show Changes)、版本比较及签入等功能。
6、 开源
VSS: 否。一般是微软所属产品用,非微软产品使用不便。
SVN: 是。应用广泛, 无论是否微软产品。
在.net 代码和java代码并存情况下,使用SVN 方便统一管理。
7、 支持命令行
VSS: 否
SVN: 是。
支持命令行, 可以简化许多操作。 如用VSS, 每个开发人员每天上午到公司时, 必须开启VSS 软件, 再鼠标操作。
用SVN则可写TortoiseProc 命令行,保存为bat批处理文件。要获取代码则双击写好的批处理文件即可。