------准备软件:
1 Setup-Subversion-1.6.17.msi --SVN服务端(最新版本下载地址http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=0)
2 TortoiseSVN_1.6.17.msi --SVN客户端 (最新版本下载地址 http://tortoisesvn.net/downloads.html)
3 AnkhSvn-2.1.8420.8.msi --VS下SVN插件(最新版本下载地址http://ankhsvn.open.collab.net/)
PS:TortoiseSVN有中文汉化包,可以自己搜索一下
------安装步骤(需重启见自动提示):
1.首先安装服务端--Subversion
2.客户端--TortoiseSVN
3.VS插件AnkhSvn(其中插件最先安装或最后安装都行)
------安装完后配置SVN服务器:
1 服务端安装好后软件会自动在系统的环境变量中增加相应的值,测试是安装完成可以在cmd命令行中输入“svn”或者“svnadmin”来测试能否运行。
2 建立SVN的存储库,路径以D:\SVN为例,创建完该文件后,就进行Windows的服务绑定,以便以后每次重启机器后都能自动运行,这里用到的是Windows自带的创建服务的命令sc,在命令行模式(CMD)下执行:
sc create SVNService binpath= "C:\ProgramFiles\Subversion\bin\svnserve.exe --service -r D:\SVN" displayname="SVNService" depend= Tcpip start= auto
注意这里的格式,“=”后面是必须空一格的,否则会出现错误。其中的几个路径分别是服务端安装路径和存储库的路径。
3 在提示建立成功后,直接在命令行模式(CMD)下输入执行net start SVNService 来启动服务(或者可以直接在“管理工具”的“服务”中直接启动)。
4 在D:\SVN文件夹上,鼠标右键选择[TotoiseSVN]->[CreateRepository href...]进行创建,创建之前保证该目录下没有任何的文件夹和文件。
创建成功后会在里面自动生成几个文件夹:
db目录就是所有版本控制的数据文件;
hooks目录放置hook脚本文件的目录;
locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
conf存放的是配置文件;
6 设置访问权限:
在conf目录下,用记事本打开svnserve.conf,设置如下:
[general]
anon-access = none
autn-access = write
password-db = passwd
第一个用来设置匿名用户的权限none为设置存储库不允许匿名访问
第二个用来设置经过授权的用户的权限 write为可以写入
第三个用来指定授权用户的密码存放文件
在同一目录下打开passwd,也就是上面设置的,当然你也可以改成其他的文件名,设置如下:
[users]
test=test
这里就是指定授权访问用户名和密码,格式为:用户名=密码
多个用户就写多行,设置完之后就大功告成了。
接下去就可以开始使用TotoiseSVN进行Import、Update、Checkout、Commit等操作了。
7 初始化导入(import)
下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据我们的任何改动都会被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找往返数据。
比如,我在d:\wwwroot 下有个 guestbook 文件夹,里面存放的是我编写的留言簿程序在此文件夹上“,右键 -> TortoiseSVN ->Import...” ,在弹出对话框的“URLof repository”中输入“svn://localhost/repos1/guestbook”,在“Import message”输入“导入整个留言簿”作为注释,点 OK 后要求输入帐号,我们在用户名和密码处都输入 test ,完成后 guestbook 中的内容全部导入到了svn://localhost/svn/repos1/guestbook。
我们观到在e:\svn\repos1 没有任何变化,连个guestbook 文件夹都没有建立,唯一的变化就是 e:\svn\repos1容量变大了,实际上我们原guestbook中的内容已经导入 repos1 版本库了,原 guestbook 文件夹可以删除了。
需要注重的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上导入,例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22”
8 取出(check out)
取出版本库到一个工作拷贝:
来到任意空目录下,比如在f分区建立一个空文件夹 f:\WebProject “右键 -> SVN Checkout”在“URL of repository”中输入“svn://localhost/svn/repos1/guestbook”,这样我们就得到了一份 guestbook 中内容的工作拷贝
9 存入(check in)/提交(commit)
在工作拷贝中作出修改并提交:
在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据在修改过的文件上“右键 ->TortoiseSVN -> Show Log” ,可以观到对这个文件所有的提交,在不同的revision 条目上“右键 ->Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别