在windows服务器上安装subversion

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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 = 111
xiaoming = 222
xiaozi = 333

 

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

[groups]
group1=人员A,人员B
group2=人员C

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

 

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

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

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

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

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

@echo off

SET REPOS="$1"
SET REV="$2"
SET TXN_NAME="$3"

SET DIR=%REPOS%/hooks
SET PATH=%PATH%
SET WORK=D:/WWW/truckweb
svn update %WORK% --username cntplus --password cntplus

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

 

10、限制必须输入日志

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

SET REPOS=%1
SET TXN=%2

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

 

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

 

以上是关于在windows服务器上安装subversion的主要内容,如果未能解决你的问题,请参考以下文章

windows下安装subversion

如何在 Windows 服务器上使用 collabnet subversion edge 设置 SVN 服务器,以及如何在 Mac 上使用 Xcode 远程连接到它?

VisualSVN Server和Subversion的联系

Windows上安装配置SVN服务端

SVN(subversion)版本控制软件的安装与配置

svn环境配置