首页 > 代码库 > 在windows服务器上安装subversion

在windows服务器上安装subversion

windows安装:

1、下载subversion 

各个版本的说明:

  CollabNet:

  功能最强大的,因为svn的创始者就是CollabNet,不过这个版本因为功能最多,所以整个软件包也是最臃肿的,安装包就有100多M,而且因为是运行在java平台上的,要占用很大的内存资源

  SlikSVN和Win32Svn:

  这两个基本是一样的,都只有svn的内核,没有界面,也就是使用的时候只能用命令行操作。这两者稍微有些区别,比如Win32Svn提供了和apache的库文件,而SlikSVN没有。不存在客户端和服务端之分,本身svn既是服务端又是客户端。

  VisualSVN:是最傻瓜化的svn,安装和配置都是有图形界面,操作起来很方便。

 

2、按照软件安装方式安装

 

3、配置成系统服务,避免买次都要命令行

在dos下面执行这个命令:

C:\>sc create Subversion binpath= "D:\Subversion\bin\svnserve.exe --service -r e:\svnRepos" displayname= "SVNService" depend= tcpip start= auto

注意:SC 是用于与服务控制管理器和服务进行通信的命令行程序。

(1)参数binPath表示svnserve可执行文件的安装路径

(2)--service参数表示以windows服务的形式运行

(3)-r指明svn repository(svnadmin create 创建的仓库)的位置

(4)displayname表示在windows服务列表中显示的名字

(5)binPath的等号前面无空格,等号后面有空格 displayname depend start也都一样 service前面是--,不是- ,而r前面是-

 

运 行这一行命令,两个路径分别是svnserve.exe的地址和版本库的地址(版本库地址一般是apache的根目录,这样就可以多建几个版本库了)。 start=auto,每次开机自动运行。关键需要注意的是等号后面必须先跟空格然后再跟设置的参数值。如果安装成系统服务成功之后,会提示成功了

 

4、启动系统服务  net start Subversion(注:Subversion是上一个命令中的服务名称)


删除创建的服务 C:\>sc delete svnservice

5、创建svn跟目录(方便快速查找svn目录,需要doc下面不关闭才行,所以也可不要)

svnserve.exe --daemon --root E:\svnRepos路径为svn仓库路径

//--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行

//--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间

 

6、svnadmin create E:\svnRepos\test(创建svn仓库)

 

7、用户权限配置


在每个仓库下:有一个conf文件夹,下面有三个文件
svnserve.conf        (svn配置文件)
authz                    (授权)
passwd                 (认证)

1)先配置svn配置文件----- svnserve.conf

 

#匿名访问的权限,可以是read,write,none,默认为read  anon-access = none #认证用户的权限,可以是read,write,none,默认为write  auth-access = write #用户密码的路径,去掉前面的#  password-db = passwd #权限的路径,去掉前面的#  auth-db = authz

 

 

 

注:所有的配置文件都必须行置顶,也就是说当前行最前面不能有空格)

2)再配置认证文件------- passwd

[users]# harry = harryssecret# sally = sallyssecret# 用户名 = 密码xiaoqiang = 111xiaoming = 222xiaozi = 333

 

3)配置授权文件-------- authz

[groups]group1=人员A,人员Bgroup2=人员C[仓库名:/]@group1 = rw@group2 = r* = r   #配置好所有用户有读的权限,才能查看得到用户自己提交的日志

 

 8、在服务器上安装tortoiseSVN(如果安装的svn server 包含客户端的  这一步可以跳过)

  对于提交的文件,svn有自己的一套保存方式,所以当本地提交到svn服务器的时候,服务器版本库里看不到提交的文件,这个时候需要在服务器上安装安装tortoiseSVN,在网站根目录检出,才能看到提交的文件

 9、实现服务器环境自动更新:

通过设置hook(插件)来自动更新在本地的每次提交,而不需要本地的每次提交都要在服务器上面手动update)

 1)、将hook下面的post-commit.tmpl文件复制一份,修改后缀为.bat文件,再将一下内容拷贝进去

@echo offSET REPOS="$1"SET REV="$2"SET TXN_NAME="$3"SET DIR=%REPOS%/hooksSET PATH=%PATH%SET WORK=D:/WWW/truckwebsvn update %WORK% --username cntplus --password cntplus

D:/www/truckweb是当前代码库的根目录,之后在配置好账号密码即可(代码中cntplus是账号和密码)。

 

10、限制必须输入日志

在hook目录下添加pre-commit.bat,内容如下

SET REPOS=%1SET TXN=%2svnlook log -t "%TXN%" "%REPOS%" | findstr ".........." > nulif %errorlevel% gtr 0 goto errexit 0:errecho 日志必须输入,且长度不得小于10个字符。 1>&2exit 1

 

注意:findstr "......" 里面的每个.就代表一个字符。如果(findstr "...")必须要输入三个以上的字符

 

在windows服务器上安装subversion