`

Subversion用户手册

 
阅读更多
Subversion用户手册
一. 环境介绍
服务器端Subversion使用svn-1.4.5版本。
二. 服务器的安装和配置
2.1 安装
下载svn-1.4.5-setup.exe文件,运行安装即可。我们使用默认安装路径c:\Program Files\Subversion
2.2 配置服务器
安装后,需要配置才能使用。这里介绍基于svnserve的服务器配置。svnserve是一个轻型的独立服务器,使用普通TCP/IP连接之上的自定义协议。客户端通过使用开头为svn://的URL来访问svnserve服务器。
1) 打开命令提示符窗口,输入以下字符创建svnserve服务:

sc create svnserve binpath= "c:\program files\subversion\bin\svnserve.exe --service --root d:\svnroot" displayname= "Subversion" depend= tcpip start= auto

注:c:\program files\subversion\bin\svnserve.exe 是subversion的安装路径。
d:\svnroot是subversion版本库的存放根目录。
start= auto表明这个服务是开机即自动启动的
注意:“binpath=”后一定要加一空格,否则服务的创建会不正确。
2) svnserve服务创建成功后,打开“控制面板/管理工具/计算机管理/服务”即可看到Subversion服务已创建,启动类型为自动。如下图所示:

此时,服务器配置结束。
三. 版本库
3.1 使用 TortoiseSVN 创建版本库
如果该服务器上已经装了SVN的客户端工具TortoiseSVN,则可以使用TortoiseSVN创建版本库。步骤为:
1) 在d:\svnroot下新建文件夹,命名为rw。
2) 在新创建的文件夹下,右击,选择“TortoiseSVN/在此创建版本库”,在弹出的对话框中选择“本地文件系统”,然后就会在新文件夹创建一个版本库。如下图所示:





3.2 版本库的认证
版本库创建后,还要配置版本库的用户、密码和权限。有认证和授权两种方式。本节介绍认证。
每一个版本库都会有个“conf”文件夹。在此文件夹下,包含“authz”、“passwd”、“svnserve.conf”三个文件。svnserve.conf文件是控制认证和授权政策的中央机构。
1) 在svnserve.conf文件中,指定一个用户密码文件:
[general]
password-db = passwd
注:这里的passwd是指“passwd”文件的相对路径。password-db指向了用户密码文件。
注意:代码一定要顶格写,本文以后提到的编码都要顶格写。
2) 在svnserve.conf文件中,设置访问权限:
svnserve.conf有多个参数,参数anon-access、auth-access可以设置为none、read、write。一般我们设置匿名不可访问,认证访问为可写,代码如下:

anon-access = none
auth-access = write

3) 在passwd文件中设置用户名和密码,代码如下:

[users]
user1 = pwd1
user2 = pwd2
……

这时,即完成了版本库的认证。认证用户可以用上述用户名、密码访问版本库。

3.3 版本库的授权
有时,我们通过授权来配置版本库的用户、密码和权限。Subversion实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。
3.3.1 为单个版本库配置授权
       如果我们只需要对某单个版本库配置授权,可以按以下步骤操作:
1) 在svnserve.conf文件中,指定一个用户密码文件和一个授权文件。

[general]
password-db = passwd
authz-db = authz

注:这里的passwd、authz是指“passwd”、“authz”文件的相对路径。上面的配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指向了用户密码文件,authz-db指向了我们的授权文件。

2) 在passwd文件中设置用户名和密码。
代码如下:

[users]
user1 = pwd1
user2 = pwd2
user3 = pwd3
user4 = pwd4
……
3) 在authz文件中配置授权。
A. 定义组信息
[groups]
# 定义组信息
#group_a指测试人员,group_d是开发人员, group_t是测试人员。
group_a =user1,user2
group_d = user3
group_t = user4

B. 指定对版本库NEWRepository目录的权限。
这里举例说明,具体权限配置视具体情况而定。

[NEWRepository:/]
# 指定对版本库NEWRepository根目录的权限
# 'r' 为只读,'rw'为可读写, ' '为无权限
@group_a = rw
@group_d = rw
@group_t = r

[NEWRepository:/trunk/admin]
# 指定对版本库NEWRepository的/trunk/admin根目录的权限,
# group_a读写,group_d和group_t没有任何权限。
@group_a = rw
@group_d =
@group_t =

4) 把authz文件转化成支持中文目录的格式
如果我们要版本库支持中文目录,只要把authz文件转化为UTF-8格式。具体的做法是用UltraEdit打开authz文件,然后选择“文件->转换->ASCII转UTF-8”,然后保存。
3.3.2 为多个版本库配置授权
通常,有多个版本库同时存在,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。这时,我们对上节的步骤做以下修改:
1) 为多个版本库配置公共的password-db和authz-db文件。
在d:\svnroot根目录下,建立命名为password和authz的两个文件,然后在每个项目的svnserve.conf文件中,做如下修改,使之指向同一个password-db和authz-db文件。

[general]
password-db = ..\..\passwd
authz-db = ..\..\authz

2) 改变组命名规则
为单个版本库配置授权时,group_a指测试人员,group_d是开发人员, group_t是测试人员。在多版本库共享配置文件时,需要在组名前加上项目名前缀,如css_group_a指css项目测试人员,css_group_d是css项目开发人员, css_group_t是css项目测试人员。

总结:做了以上两个修改之后,其它步骤与上节相同,即可完成多版本库的授权。
四. 版本库的其他扩展功能
4.1 钩子脚本
4.1.1 设置日志不能为空
在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,但是可以通过钩子实现。版本库的hooks目录中有一些钩子的例子脚本,这些例子脚本适合于Unix/Linux服务器,在Windows下需要修改。将下面的代码存为放到版本库的hooks目录下即可,当你不写日志提交的话就会报告错误。
文件名为pre-commit.bat,文件类型是批处理文件。

@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 chars
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log message not allowed. Commit aborted! You must input some comments for your commit  1>&2
exit 1
注:findstr ".........."中的".........."代表的是限制的字符个数,一个”.”代表一个字符。这里限制字符数至少为10,可根据需要增减。
  • a.jpg (181.5 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    Subversion使用手册(开发人员

    ### Subversion使用手册知识点详解 #### 一、准备工作 在开始使用Subversion之前,需要完成以下准备工作: 1. **获得个人账户**:首先联系管理员,告知所需的用户名和密码,以便管理员为您创建账户。 2. **了解...

    subversion使用手册

    ### Subversion 使用手册 #### 第一章 Subversion 简介 ##### 1.1 什么是 Subversion Subversion(简称 SVN)是一个自由/开源的版本控制系统,它旨在解决 CVS(Concurrent Versions System)中存在的诸多问题。...

    Subversion 版本控制系统用户手册

    Subversion,简称SVN,是一种广泛使用的集中式版本控制系统,旨在管理和追踪软件项目中的文件和目录的更改历史。通过版本控制,团队成员可以高效协作,避免代码覆盖等常见问题,同时确保项目的可靠性与质量。 #### ...

    subversion中文手册svn-book

    ### Subversion中文手册知识点概述 #### 一、Subversion概览 - **Subversion**(简称SVN)是一种集中式的版本控制系统,旨在替代CVS,提供了更好的管理方式。 - **Subversion的历史**: Subversion项目始于2000年,...

    Subversion中文手册.rar

    Subversion中文手册是为方便中文用户理解和使用Subversion而编写的详细指南,涵盖了从基本概念到高级操作的全面内容。这份手册的出现,无疑为中文使用者提供了一个便捷的学习和参考资源。 在Subversion的基本概念中...

    Subversion Edge详细安装与使用手册

    ### Subversion Edge 详细安装与使用手册 #### 一、Subversion Edge 下载与安装 ##### 1.1 下载地址 Subversion Edge 的下载地址为:[http://www.collab.net/svnedge](http://www.collab.net/svnedge)。 ##### ...

    Subversion中文手册.zip

    "Subversion中文手册"是为了解决中文用户在使用Subversion时的语言障碍,提供详尽的操作指南和参考资料。 Subversion的核心概念包括仓库(Repository)、工作副本(Working Copy)和提交(Commit)。仓库是存储所有...

    Subversion 中文手册

    Subversion 中文手册是专为初学者设计的学习资源,旨在帮助用户快速掌握基本操作,并逐渐深入理解其高级特性。 1. **版本控制概念**:Subversion 提供了版本控制的基本概念,如版本库(repository)、工作副本...

    svn(subversion) 使用手册

    【svn(subversion) 使用手册】 svn(Subversion)是一种广泛使用的版本控制系统,它取代了早期的CVS(Concurrent Versions System),成为许多开源项目和企业的首选工具。Subversion的主要目标是管理和跟踪文件和...

    subversion中文手册

    ### Subversion中文手册知识点概述 #### 一、Subversion简介 **什么是Subversion?** - **定义**: Subversion是一款开源的版本控制系统,主要用于文件版本管理。 - **特点**: 支持跨平台,可在多种操作系统上运行,...

    Subversion管理员手册

    综上所述,《Subversion管理员手册》全面覆盖了Subversion服务器的管理,包括安装、配置、备份、分支管理,以及与之配套的SecureCRT和SecureFX的使用。这些信息对于任何负责维护Subversion系统的管理员来说都是宝贵...

    subversion配置手册

    根据提供的文档内容,本文将详细解析Subversion在Windows环境下的配置流程及关键步骤,包括安装、设置、用户管理以及客户端的使用等。 ### 一、Subversion简介 Subversion(简称SVN)是一种集中式的版本控制系统,...

    Subversion客户端使用手册

    - Subversion 提供丰富的文档和社区支持,包括在线手册、邮件列表和论坛,帮助用户解决使用过程中遇到的问题。TortoiseSVN 也有详尽的帮助文档,涵盖了所有功能和常见问题解答。 Subversion 客户端的使用极大地...

    subversion edge 安装配置使用手册

    下面将详细介绍Subversion Edge的下载、安装、配置以及使用情况。 ### 1. Subversion Edge 下载 首先,你需要从官方网站或其他可信源下载Subversion Edge的最新版本。确保选择与你操作系统兼容的版本,即Windows或...

    nidify-Subversion使用手冊

    《nidify-Subversion使用手册》是一本专为中文用户设计的Subversion(简称SVN)使用指南。Subversion是一款广泛应用于软件开发领域的版本控制系统,它允许团队成员协同工作,跟踪代码更改,管理项目资源,并确保数据...

    svn手册.pdf Subversion使用

    《svn手册.pdf》是关于Subversion使用的一份详尽指南,Subversion是一个开源的版本...通过深入学习和实践《svn手册.pdf》,用户能够熟练掌握Subversion的使用,从而在软件开发过程中实现更好的源代码管理和版本控制。

    subversion1.6 手册

    在阅读Subversion 1.6中文手册时,你会了解到如何安装和配置Subversion服务器,创建和管理版本库,设置用户权限,以及如何使用基本的命令行工具进行检出、提交、更新、合并等操作。手册还将详细解释如何处理冲突,...

    subversion 安装包与安装手册

    2. **安装Subversion**:现在你可以安装Subversion了,使用`yum`命令: ```bash sudo yum install subversion ``` 3. **配置Subversion**:安装完成后,你需要配置Subversion服务器。这通常涉及到创建仓库目录、...

    Subversion中文手册

    ### Subversion中文手册 #### 软件并行开发版本管理的SVN使用说明书 **SVN(Subversion)**是一种流行的版本控制系统,用于管理软件项目中的源代码变更历史。相较于其前辈CVS(Concurrent Versions System),SVN...

    linux下subversion+https安装手册

    通过包管理器安装Subversion,例如在Ubuntu/Debian上使用`sudo apt-get install subversion`,在CentOS/RHEL上使用`sudo yum install subversion`. 1.3 确认已经安装 SVN 模块 安装完成后,检查Subversion是否已经...

Global site tag (gtag.js) - Google Analytics