1.yum安装svn
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
yum install -y subversion
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
Dependency Installed:
gnutls.i686 0:2.8.5-10.el6_4.2 libproxy.i686 0:0.3.0-4.el6_3
libproxy-bin.i686 0:0.3.0-4.el6_3 libproxy-python.i686 0:0.3.0-4.el6_3
neon.i686 0:0.29.3-3.el6_4 pakchois.i686 0:0.4-3.2.el6
perl-URI.noarch 0:1.40-2.el6
Complete!
2.验证是否安装完成
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
svnserve --version
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
svnserve,版本 1.6.11 (r934486)
编译于 Apr 11 2013,17:28:04
版权所有 (C) 2000-2009 CollabNet。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
3.创建svn版本库
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
mkdir /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理
svnadmin create /var/svn/repo0 #我这里将svn作为所有版本库的目录,并创建了一个名为repo0的版本库
4.配置当前的版本库
创建版本库后,在当前版本库目录中会生成下面的文件,其中我们关心的是配置文件。
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
[root@localhost svn]# ls
repo0
[root@localhost svn]# cd repo0
[root@localhost repo0]# ls
conf db format hooks locks README.txt
[root@localhost repo0]# pwd
/var/svn/repo0
[root@localhost repo0]# cd conf
[root@localhost conf]# ls -a
. .. authz passwd svnserve.conf
说明:
(1)svnserve.conf: svn服务综合配置文件。
(3)authz: 权限配置文件。
4.1 修改passwd文件
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow,one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
repouser0 = user0passwd
rock=rockpasswd
其中对应的是 用户名=密码 ,其中等号两边的空格不是必须的。
4.2修改authz文件
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil,Ltd./OU=Research Institute/CN=Joe Average
#这里实现了别名的定义
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
team0=erpouser0 #将上面创建的分成两个组
team1=rock
# [/foo/bar]
# harry = rw
# &joe = r #上面的别名定义在这里实现 &在这里理解为指针就很容易了
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[repo0:/]
@team0=r
@team1=rw
# 第一个小组只有读取的权限,第二个小组有读写的权限
# 单个版本库的权限配置在这个文件中实现
4.3 修改svnserve.conf
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
vim svnserve.conf
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write","read",
### and "none". The sample settings below are the defaults.
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below),this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd #密码文件为当前目录下的passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /,the file's location is relative to the the
### directory containing this file. If you don't specify an
### authz-db,no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz #验证文件为当前目录下的authz
5 停止和启动svn
5.1启动svn
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
svnserve -d -r /var/svn/
5.2关闭svn
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
ps -aux |grep svn
kill -9 进程id
6 导入工程
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
$ mkdir MyProject
$ mkdir MyProject/trunk
$ mkdir MyProject/branches
$ mkdir MyProject/tags
svn import MyProject svn://192.168.1.109/repo0/MyProject -m "first import project"
7导出工程
[plain]view plaincopyprint?
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/CODE_ico.png">
代码片" style="padding:0px;margin:0px;border:none;" src="https://code.csdn.net/assets/ico_fork.svg">
svn co svn://192.168.1.109/repo0/MyProject