准备阶段:
安装Setup-Subversion-1.5.3.msi(服务器)和TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi(客户端)
1.创建版本库
选好想要将版本库放在哪里,比如说本例中把版本库放到D:\SVN\repo文件夹里,现在我们可以右击这个文件夹,然后在ToriseSVN的弹出菜单里选择Create repository here,
等一会后就会弹出对话框表示创建成功,默认的是FSFS的格式。

2.将 svnserve 作为 windows 服务运行。从 Subversion 1.4 开始,svnserve 可以安装为 windows 服务。
在命令提示符运行如下命令:
sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service --root D:\SVN\repo" displayname= "Subversion" depend= tcpip start= auto
3.svnserve的认证
默认情况下,svnserve只提供匿名用户读访问的权限,也就是说你只能从版本库中checkout和update工作拷贝,但是无法commit对工作拷贝任何更改,为了更好的使用和管理SVN,我们给SVN加入用户验证。
修改senserver.conf后为:
anon-access = write     表示匿名用户有写的权限
4.SVN的访问
svn://     通过未认证的 TCP/IP 自定义协议访问 svnserve 服务器。
由于我们在运行svnserve的时候已经将根目录定位到repo文件夹了,所以使用svn://访问时直接输入svn://localhost/ 即可访问到,如果不加上那个--root选项的话那么地址就必须是svn://localhost/repo。如果是从其他计算机访问,只需要将localhost改成SVN服务器机器的IP地址即可。
5.首次导入(import)
我们建立一个import文件夹,里面有三个目录,分别是design,release,trunk,右击import文件夹,可以点import选项,进行导入,导入之后就可以删除该文件夹了。
6.首次检出(checkout)
需要将版本库的代码检出(checkout)到一个文件夹,就得到了一份工作拷贝,可以对工作拷贝进行修改。可以使用Checkout命令。注意,不要检出到刚才用于导入(import)的文件夹,否则文件的覆盖会出现错误,如果确实很需要,就先删除原文件夹中的所有内容,然后检出(checkout)。
具体操作是在你想的获得开发源码的地方比如说本例在E:\workspace,在此文件夹里右击,在弹出菜单中选择SVN Checkout…,弹出如下界面(图3-3-1),因为我们只需要开发代码所以地址要定位到trunk文件夹,其他的默认即可,点击OK。
7.提交修改(Commit)
红色的小叹号表明文件已经做了修改。
8.回退(Update to reversion)
这个情况是很容易发生的,那就是当大家修改了代码之后,发现程序有很大漏洞,而且及其难改,这个时候就可以将你的项目回退到以前的版本,具体操作是:右击想要回退的文件夹或者文件,在TortoiseSVN弹出菜单中选择Update to reversion…然后回弹出一个界面,比如说我们想要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击OK即可。
9.Branch and Tag
当我们开发到一定程度,感觉这个版本已经做够成熟了,已经可以拿来发布了,我们可以将这个版本当做一个备份保留起来这样以后修改,出了大问题可以立刻拿这里面的版本来用。操作方法是:首先从版本库中将trunk中的项目checkout到一个文件夹里,然后右击checkout下来的这个文件夹,TortoiseSVN弹出菜单中选择Branch and Tag…,
在To URL里填好路径,既然是可以发布的版本,我们就把它放到release文件夹里的V1.0文件夹里吧,如果没有这个文件夹会自动创建的。然后在下面的Log窗口里写上日志,点击OK即可。然后我们可以使用TortoiseSVN里的Repository Brower来看看是否加入了。
10.查看所有版本(show log)
进入checkout的目录,可以右击"show log"查看所有版本。
11.导出(Export )
我们想要给客户一个项目,当然不能带版本信息,我们可以用TortoiseSVN菜单里的Export来实现,新建一个文件夹,右击文件夹TortoiseSVN菜单里选择Export…
 
文中提及的Subversion动画教程并不可用,如有任何Subversion相关问题可以一起探讨。
Subversion是新一代的版本控制工具,不仅仅应用于程序源代码管理,也可以广泛应用于其他需要协作管理数据的工作,例如有人使用Subversion来合作写乐谱,美工用来共同作图,文档写作人员一起写一篇大作。
对于希望学习Subversion的新手,可以看看这一篇最快速的Subversion入门教程。
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。
软件下载
服务器和客户端安装
建立版本库(Repository)
配置用户和权限
运行独立服务器
初始化导入
基本客户端操作
1,软件下载
下载Subversion服务器程序。 到官方网站的下载二进制安装文件,来到二进制包下载部分 ,找到 Windows NT, 2000, XP and 2003部分,然后选择"this directory",这样我们可以看到许多下载的内容,目前可以下栽 svn-1.2.3-setup.exe。
下载Subversion的Windows客户端TortoiseSVN。 TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们选择Official version for Win2k/XP or higher的版本,然后在sourceforge的下载页面选择目前的最高稳定版本的安装文件TortoiseSVN-1.2.4.4479-svn-1.2.3.msi。
2,服务器和客户端安装
服务器安装,直接运行svn-1.2.3-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
安装TortoiseSVN,同样直接运行TortoiseSVN-1.2.4.4479-svn-1.2.3.msi
按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:svndemorepository
就会在目录E:svndemorepository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:svndemorepository下"右键->TortoiseSVN->Create Repository here…“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4,配置用户和权限
来到E:svndemorepositoryconf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
5,运行独立服务器
在任意目录下运行:
svnserve -d -r E:svndemorepository 我们的服务器程序就已经启动了。
6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:svndemoinitproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import…
URL of repository输入“svn://localhost/trunk”
ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
7,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:svndemowc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit…,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
最后,所有的内容都已经录制为动画文件,大家可以参考。
关于本教程大家有什么意见,可以在这里回复。
CVS与SVN性能的比较
今天看到这个测试结果,效果惊人阿。
Action                                                      CVS               SVN
Check out small file set         1 m 17.32 s         26.96 s
Check out large file set          7 m 16.92 s  5m 35.01 s
Tag small file set                     1m 29.30 s            0.88 s
Tag large file set                   18 m 52.45 s            0.86 s
Update small file set                      44.46 s            4.91 s
Update large file set               8 m 53.39 s          38.62 s
Create branch (small set)     1 m 27.99 s            0.80 s
Create branch (large set)      21 m 2.93 s            0.69 s