1. 从网站上下载svn的服务端Subversion 和客户端TortoiseSVN
2.安装服务端,然后在环境变量path中加入服务端bin路径 ;安装客户端
3.在d盘创建一个文件夹 d:/svn     然后在dos下用命令创建 svnadmin create d:/svn/test
4.创建后,在test中找到配置文件svnserve.conf 和passwd两个文件 安装里面的提示进行修改,要注意的是,里面的文件每行之前没有空格,必须顶行写。否则会报option excepted 错误
5.启动svnserve  用命令 svnserve  -d  —listen-host 127.0.0.1  -r d:/svn
   如果没有启动改命令,你去链接时,会发现报“目标机器积极拒绝…”等错误。
6.导入文件 svn import  d:/work  svn://localhost/test  -m “Initial import”
7.用下面的一条命令将SVN安装成服务启动,在cmd中。
//创建服务 注:下面拼路径时 每个”=”后面有个空格不能少,不然会出错
sc create svnserve binPath= “\”d:\Program Files\Subversion\bin\svnserve.exe\
” –service –root d:\svn” Displayname= “Subversion Repository” depend= Tcpip start= auto
//启动该服务,就ok了,呵呵
sc start svnserve
注:d:/svn 是版本库根目录,d:/svn/test是具体某个项目的版本


1. 建立资源库: 开始-->运行-->输入cmd-->svnadmin create 资源库文件名(可以直接进入到具体的目录下建立 或 直接命令建立)
例如:C:\Documents and Settings\Administrator>d: —— 直接进入D:\> ——
  D:\>svnadmin create svnrepo 然后就会在D盘目录下建立svnrepo资源库
或直接用 C:\Documents and Settings\Administrator>svnadmin create D:\svnrepo 也可以在D盘目录下建立svnrepo资源库


2. D:\svnrepo\conf中的svnserve.conf文件中的“# password-db = passwd”注释去掉,然后在这个passwd中的“# sally = sallyssecret”注释去掉,客户端就可通过sally用户和对应的密码访问该资源库。


4. 启动SVN服务器:开始-->运行-->输入cmd-->svnserve -d -r 资源库名


svn import -m "dxwap" D:\project1 file:///d:/repository/project1,将D盘根目录下的项目上传到我们刚刚建立的SVN项目中;


3. 一个权限配置的例子


  我们以游戏项目开发为例,项目名就叫Project1吧,怎么创建SVN数据库上面已经说过了,我们在SVN的根目录下创建一个名为Project1的本地数据库,先配置conf目录下的svnserve.conf文件,我们不允许任何与研发无关的人员访问此项目,因此我们禁止匿名访问并为每个研发人员创建个人帐号,权限文件和帐户信息文件用默认同目录下的authz文件和passwd文件就行了。


svnserve.conf文件配置如下:


[general]
anon-access = none
password-db = passwd
authz-db = authz


  接下去配置passwd文件,为每个研发人员设置个人帐户,假设项目负责人是Sol,程序部门有Tom、Mark,美术部门有John、Alina、Candice、Ellen,策划部门有Terry、Jane,这里我们为了方便将密码全部设置为000000,现在是例子没关系,实际应用的时候密码就不能这么随便设置了。


passwd文件配置如下:


[users]
Sol = 000000
Tom = 000000
Mark = 000000
John = 000000
Alina = 000000
Candice = 000000
Ellen = 000000
Terry = 000000
Jane = 000000


  帐户都创建好了,现在为他们分配不同的权限,先设置4个组.分别是manager 、developer、artist、designer,将Sol分配到manager组里,将Tom、Mark分配到developer组,将John、Alina、Candice、Ellen分配到artist组,将Terry、Jane分配到designer组,等会我们会在项目中创建designs、sources、resources、reports这4个目录,然后在reports目录里为每个人创建一个以自己帐户命名的目录用来放每个人的工作报告,manager组拥有所有目录的读写权限,developer组拥有sources目录的读写权限以及designs和resources目录的读取权限,artist组拥有resources目录的读写权限以及designs目录的读取权限,designer组拥有designs目录的读写权限以及resources目录的读取权限,每个帐户都拥有reports目录下以自己帐户命名的目录的读写权限,也就是说每个人的工作报告只有自己和项目负责人能看到。


authz文件配置如下:

[groups]
 manager = Sol
 developer = Tom,Mark
 artist = John,Alina,Candice,Ellen
 designer = Terry,Jane


 [Project1:/]
 @manager = rw
 * = r


 [Project1:/designs]
 @manager = rw
 @developer = r
 @artist = r
 @designer = rw
 * =  


 [Project1:/sources]
 @manager = rw
 @developer = rw
 * =


 [Project1:/resources]
 @manager = rw
 @developer = r
 @artist = rw
 @designer = r
 * =


 [Project1:/reports/Sol]
 Sol = rw
 * =


 [Project1:/reports/Tom]
 @manager = rw
 Tom = rw
 * =


 [Project1:/reports/Mark]
 @manager = rw
 Mark = rw
 * =


 [Project1:/reports/John]
 @manager = rw
 John = rw
 * =


 [Project1:/reports/Alina]
 @manager = rw
 Alina = rw
 * =


 [Project1:/reports/Candice]
 @manager = rw
 Candice = rw
 * =


 [Project1:/reports/Ellen]
 @manager = rw
 Ellen = rw
 * =


 [Project1:/reports/Terry]
 @manager = rw
 Terry = rw
 * =


 [Project1:/reports/Jane]
 @manager = rw
 Jane = rw
 * =




  目录的权限都设置完了,但是目录我们还没有创建,现在只有项目负责人才有权限在项目根目录下创建目录,所以我们用Sol的帐户来创建designs、reports、resources、sources这4个目录,然后再到reports目录里为每个人创建以各自帐户命名的工作报告目录,好了,到这里就全部搞定了,收工。