SVN 版本服务器搭配全过程详解(含服务端、客户端)

 

SVN服务器端及客户端全套软件

SVN对比VSS的优势

 

源代码管理工具是开发人员使用非常频繁的生产工具,只有更好更快才能提高效率,不应仅局限于签入签出。

 

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批处理文件。要获取代码则双击写好的批处理文件即可。