Svn和VisualSvn介绍
在使用TortoiseSvn(SVN客户端)+ AnkhSvn(VS2008插件) +VisualSvn Server(版本控制服务器)进行源代码版本控制前,有必要先了解下Subversion(Svn)。
Svn(Subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用Svn作为代码版本管理软件。
Svn客户端:
Subversion的客户端有两类,一类是webSvn等基于web的,一种是以TortoiseSvn为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端软件。
Svn服务器
Subversion支持linux和windows,更多是安装在linux下。
Svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
Svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
VisualSvn 与VisualSvn Server
VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是是商业软件,要收费;
VisualSvn Server是基于Windows平台上的Subversion服务器,它是免费的,它具体包括了Subversion、Apache和一个相应的管理界面。所以推荐使用免费的TortoiseSvn客户端以及VS插件AnkhSvn 。
与VSS版本管理软件的比较:
VSS:如果需要连接到发布在公网上的VSS服务器下载代码的话需要配置IIS,步骤非常麻烦,而且不一定成功,本人在去年就试过,弄了很久都没有成功。
VisualSvn Server:VisualSvn Server自带apache,不需要配置IIS服务器的,输入URL就可以下载保存在公网上的VisualSvn Server的代码,只需要确保开启443或者80端口就可以了操作简单。
问:为什么要用Svn,而不用VSS?
相同点:都能集成在VS2008下进行源代码管理,都能完全内网开发跟外网开发。
不同点:VSS是基于“锁定--编辑—解锁”模式的,这个模式有一个弊端,就是当其他人在编辑相关单元文件的时候,此单元文件处于锁定状态,其他人如果想编辑这个单元文件的话,只能处于等待状态。后来在持续集成中我使用的Subversion替代VSS,Subversion是基于“修改—冲突—合并”的一个模式,也就是说多个人可以同时签出一个单元文件,编辑然后提交,如果多个人都修改了同一文件的某一行的话,就会发生冲突,手工解决冲突,解决的效果就是合并代码。
Internet开发,和离线开发,VisualSvn会比VSS更胜一筹。
问:为什么要用VisualSvn Server,而不直接用Subversion?
答:因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装Svn Server为windows service(Windows服务),还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSvn Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候Svn Server已经封装为windows service(如果改变VisualSvn Serve的URL的时候,VisualSvn Serve会自动重启服务,非常方便),Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。
VisualSvn Server是完全开源和免费的,当然它的官方客户端(VisualSvn)并不免费,不过没关系, VisualSvn Serve客户端有太多的免费版本供我们选择,TortoiseSvn就是一个不错的选择.
必备软件
基于VS2008 Team开发环境的源代码版本控制需要以下软件,安装顺序没有限制,一切默认安装即可
由于3个软件的官方下载地址不能访问,所以我把3个软件上传到我的网盘,我给出下载地址,欢迎大家下载
VisualSvn Server(版本控制服务器)免费开源软件。
版本号:VisualSvn-Server-2.1.4.msi
下载地址:http://files.cnblogs.com/lyhabc/VisualSVN-Server-2.1.4.rar
TortoiseSvn(管理员客户端),免费开源软件。
版本号TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi
下载地址:http://www.kuaipan.com.cn/file/id_4401224786917885.htm
AnkhSvn(VS2008插件),免费开源软件。
版本号:AnkhSvn-2.1.8420.8.msi
下载地址:http://files.cnblogs.com/lyhabc/AnkhSvn-2.1.8420.8.rar