Subversion安装详解

一、准备工作:配置固定IP

命令行下输入ipconfig /all,记下ip ,submask ,gateway 和dns,再在相应网卡的tcp/ip协议里输入就行了。

二、建立版本库(Repository)

svnadmin create F:\svn\

你会看到该目录下新建了一堆文件和文件夹。

删除版本库的做法是:直接到Repository目录下删除相应的版本库文件夹

三、启动SVN服务

1.svnserve --daemon --root F:\svn

如果你是在cmd窗口运行的,注意不要关闭该窗口,否则svnserve也被关闭了。

在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected

原因:subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,去掉前面的空格

2.指定配置文件方式启动:

svnserve -d -r /data/svn --config-file=/data/svn/svnserve.conf

注:后面的参数,–config-file=/data/svn/svnserve.conf是告诉svn服务,调用/data/svn目录下的svn配置文件,用来统一管理/data/svn目录下创建的子svn版本,统一使用配置文件中的用户信息、权限信息来管理各版本库。


四、svn配置文件详解

版本库conf文件夹下有三个配置文件svnserve.conf、passwd、authz

1. svnserve.conf,该文件仅由一个[general]配置段组成。

[general]配置段中配置行格式如下:
        <配置项> = <值>

配置项分为以下5项:
   
    anon-access  控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
                 即"write"为可读可写,"read"为只读,"none"表示无访问权限。
                 缺省值:read

auth-access  控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
                 即"write"为可读可写,"read"为只读,"none"表示无访问权限。
                 缺省值:write

password-db  指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
                 目录的相对路径。
                 缺省值:passwd

authz-db     指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
                 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
                 缺省值:authz

realm        指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
                 认证域相同,建议使用相同的用户名口令数据文件。
                 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

注:版本库认证域
    在使用svn客户端访问svnserve服务器时,若需要用户登录,则提示信息如下:
        [[email protected] root]# svn list svn://192.168.3.45/test
        Authentication realm: <svn://192.168.3.45:3690> 0d545a49-4038-0410-99b4-c66dc73f754e
        Password for ‘root‘:
    在上述第2行"Authentication realm: <svn://192.168.3.45:3690>"之后显示的字符串为认证域名称。如果在配置文件中为设定认证域,就会提示一个UUID,如上述所示。
    如果在配置文件中指定了如下配置项:
        realm = test
    将在svn客户端提示如下:
        [[email protected] root]# svn list svn://192.168.3.45/test
        Authentication realm: <svn://192.168.3.45:3690> test
        Password for ‘root‘:

例1:svn服务配置文件conf/svnserve.conf的内容如下:
        [general]
        anon-access = none
        auth-access = write
        password-db = ../../conf/passwd
        authz-db = ../../conf/authz
        realm = test
   
    上述配置文件设定非鉴权用户无权限访问该版本库;鉴权用户可对版本库进行读写;用户名口令文件为相对版本库conf目录的文件"../../conf/passwd";权限配置文件为相对版本库conf目录的文件"../../conf/authz";版本库的认证域为"test"。

2. 权限配置文件authz

权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。

[groups]配置段中配置行格式如下:
        <用户组> = <用户列表>
    用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"(如:引用用户组"all"要使用字符串"@all")。

版本库路径权限段的段名格式如下:
        [<版本库名>:<路径>]
    如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。
    可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。

版本库路径权限段中配置行格式有如下三种:
        <用户名> = <权限>
        <用户组> = <权限>
        * = <权限>
    其中,"*"表示任何用户;权限的取值范围为‘‘、‘r‘和‘rw‘,‘‘表示对该版本库路径无任何权限,‘r‘表示具有只读权限,‘rw‘表示有读写权限。
    注意:每行配置只能配置单个用户或用户组。

例3:权限配置文件conf/authz的内容如下:
        [groups]
        g_admin = admin,thinker

[admintools:/]
        @g_admin = rw
        * =

[test:/home/thinker]
        thinker = rw
        * = r

在上述配置文件中,定义了一个用户组"g_admin",该用户组包含用户"admin"和"thinker"。然后定义了2个版本库路径权限段。其中,版本库"admintools"只有用户组"g_admin"可读写,其他用户无任何权限;版本库"test"中路径"/home/thinker"只有用户"thinker"有读写权限,其他用户只有可读权限。

四、如何运行多个版本库

大概思路如下:
在server端,新建一个目录用来存放所有的仓库。比如c:\svnrepos。然后在这个目录下建立两个独立版本库

svnadmin create "c:\svnrepos\rolex"
svnadmin create "c:\svnrepos\omega"
使用 svnserve -d -r "c:\svnrepos" 启动,这样你的项目的url是:
svn://IP/rolex
svn://IP/omega



详细设置见参考文章

使用svn运行多个版本库

http://share.lesterlee.cn/172

windows下架设SVN服务器并设置开机启动

http://www.cnblogs.com/jinmingjie/archive/2012/06/05/2536995.html

时间: 2024-12-30 12:26:16

Subversion安装详解的相关文章

httpd 安装详解(待更新)

httpd 安装详解 安装httpd: rpm包:CentOS发行版中直接提供 编译安装:定制新功能,或其它原因 安装方式: yum install httpd CentOS 6:httpd-2.2 程序环境: 配置文件: /etc/httpd/conf/httpd.conf/httpd /etc/httpd/conf.d/*.conf 服务脚本: /etc/rc.d/init.d/httpd 脚本配置文件:/etc/sysconfig/httpd 主程序文件: /usr/sbin/httpd

Gentoo Linux安装详解--根据官方WiKi整理

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配

Linux下ORACLE客户端安装详解

1.首先去oracle官网下载以下安装包(http://www.oracle.com/technetwork/topics/linuxsoft-082809.html) instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-odbc-linux-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.

Windows下caffe安装详解(仅CPU)

本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2.caffe-windows准备 (1)下载官方caffe-windows并解压,将 .\windows\CommonSettings.props.example备份,并改名为CommonSettings.props.如图4所示: 图 4:修改后的CommonSettings.props文件 附带说明

MySQL安装详解

MySQL安装详解 [下载地址:http://dev.mysql.com/downloads/] 参考文献:http://dev.mysql.com/doc/refman/5.1/zh/installing.html 步骤1:选择安装类型 有3种安装类型:Typical(典型安装).Complete(完全安装)和Custom(定制安装). Typical(典型安装)安装只安装MySQL服务器.mysql命令行客户端和命令行实用程序.命令行客户端和实用程序包括mysqldump.myisamchk

Gentoo Linux安装详解

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配

Linux ssh登录和软件安装详解

阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器上使用的.实际情况,可能我很难直接到坐在服务器前,使用界面操作系统.事实上,界面对于服务器来说就是一个多于的内容.于是Linux的桌面就像一个程序一样,可以卸载.卸载后怎么用呢?使用shell命令.在哪里使用呢?当然是在遥远的另一方. 于是,我学习的第一个内容就是远程访问Linux系统,进行一系列操作.

zabbix专题:第二章 zabbix3.0安装详解

zabbix3.0安装详解 本节目录大纲 安装配置mariadb 安装服务器端 zabbix web配置 web页面初始化 更改为中文 中文乱码问题 zabbix专题:第二章 zabbix3.2安装详解 zabbix专题:第二章 zabbix3.2安装详解 官方文档地址: https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages 我安装zabbix用的rpm包,可以从官网的源里面去下载,需

Linux下项目与事务跟踪工具JIRA搭建汉化安装详解

1,安装java环境 [Java环境安装请查阅java环境安装] 2,安装数据库并添加jira数据库和用户授权 [MySql环境安装请查阅mysql安装] mysql> create database jira charactor set 'utf8'; mysql> grant all on jiradb.* to `jira`@`%` identified by 'jira123'; mysql> flush privileges; 3,相关软件包下载地址及说明 atlassian-