在进行AnkhSvn+VisualSvn Server进行源代码版本控制前,有必要先了解下Subversion。
Subversion(简称svn)是近年来崛起的版本管理软件,是一个跨平台软件。在之前进行版本控制时,比较流行的有CVS和VSS:vss和cvs都是源代码版本管理工具。vss是微软的,主要是负责项目文件管理,几乎可适用任何软件项目。cvs是并发版本系统,主要为主流的开放源代码网络透明的版本控制系统。
在SVN之前,CVS是使用最广泛的版本管理软件。
SVN与CVS对比的优点如下:
* 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
* 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
* 重命名、复制、删除文件等动作都保存在版本历史记录当中。
* 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
* 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
* 分支的开销非常小。
* 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
客户端
Subversion的客户端有两类,一类是websvn等基于web的,一种是以 TortoiseSVN为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端。服务器
Subversion支持linux和windows,更多是安装在linux下。svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
VisualSvn Server:
visualsvn服务器是基于Windows平台上的Subversion服务器。他具体包括了Subversion、Apache和一个相应的管理界面。
为什么要用VisualSVN Server,而不用Subversion?
因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。
若不使用本机做服务器,则可使用网络项目托管服务,如Google Code,SourceForge等。具体参考:http://space.itpub.net/15723462/viewspace-586541
VisualSvn Server(版本:2.0.8)的官方下载地址:http://www.visualsvn.com/files/VisualSVN-Server-2.0.8.msi
具体使用方式
AnkhSVN
Ankhsvn是面向.NET开发环境下的一个Subversion插件。它可以替换VSS作为版本服务器。允许开发人员在不离开IDE的情况下对源代码进行版本控制。
AnkhSVN(版本:2.1.7444)的官方下载地址: http://ankhsvn.open.collab.net/files/documents/175/2746/AnkhSvn-2.1.7444.278.msi
下载完毕后,进行安装,安装向导安装即可
打开Visual Studio 2008,单击菜单“工具”-“选项”,然后选择Source Control下的插件选择,如图,选择我们刚刚安装的插件
参考:SubVersion中文站:http://www.subversion.org.cn/
Svn中文网:http://www.svn8.com/