第一章
安装
1.
采用源文件编译安装。源文件共两个,为:
subversion-1.6.1.tar.gz
(
subversion
源文件)
subversion-deps-1.6.1.tar.gz
(
subversion
依赖文件)
注意文件版本必须一致
,
否则很容易产生各种奇怪的问题
.2.
上传以上两个文件到服务器上,解压。
解压命令为:
tar xfvz subversion-1.6.1.tar.gz
2. tar xfvz subversion-deps-1.6.1.tar.gz
指令简介:
tar
为解压命令,
xfvz
为
tar
命令的参数,用于解压
tar.gz
格式压缩的文件。
3.
解压后生成
subversion-1.6.1
子目录,两个压缩包解压后都会自动放到此目录下,不用手动更改。
4.
进入解压子目录:
cd subversion-1.6.1
5.
执行
./configure
–
prefix=/opt/subversion
进行配置设定并指明安装目录
.
注意
prefix
前是两个减号
.
默认不带
BDB
包
,
所以默认使用的是
FSFS
模式
.
若想使用
BDB
模式需另外下载
BDB
包
.
建议使用
FSFS
模式
.
两种模式比较参考以下链接
:
http://doc.iusesvn.com/show-21-1.html
指令简介:
configure
命令用于检查安装平台和目标特征,
prefix
用于指定路径。
6.
执行
make
编译
.
7.
执行
make install
安装
.
8.
添加环境变量
: vi /etc/profile
在文件最后加入
:
SVNPATH=$PATH:/opt/subversion/binexport SVNPATH9.
测试
SVN
是否安装成功
,
执行
:1 svnserve --version
如果显示版本信息
,
则安装成功
.
第二章
配置
本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的
conf
目录下。
所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
1.
建立版本库目录
(
可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录
,
以下讲的都是版本库目录
)
mkdir
–
p /opt/svndata/repos
2.
建立
svn
版本库
(
与上面目录对应
)
svnadmin create /opt/svndata/repos
执行此命令后
svn
自动在
repos
目录下添加必须的配置文件
.
注意
:
版本库不同于一般的文件夹
,
直接在操作系统上新建文件无法被
SVN
识别
,
必须使用
import
等命令将文件导入版本库
.
此为
svn
内部指令,
create
用于新建版本库。请使用
svn help
查看详细说明。
3.
修改版本库配置文件
vi /opt/svndata/repos/conf/svnserve.conf
各参数功能在配置文件的注释中有说明
,
此处配置如下
:
[general]
anon-access = none
#
使非授权用户无法访问
auth-access = write
#
使授权用户有写权限
password-db = /opt/svndata/repos/conf/pwd.conf
#
指明密码文件路径
authz-db = /opt/svndata/repos/conf/authz.conf
#
访问控制文件
realm = /opt/svndata/repos
#
认证命名空间,
subversion
会在认证提示里显示,并且作为凭证缓存的关键字。
其它采用默认配置
.
各语句都必须顶格写
,
左侧不能留空格
,
否则会出错
.
其中
pwd.conf
与
authz.conf
在新建版本库时系统不会自动创建,需要自己创建。
指令简介:这是
svn
配置文件的格式,请按照以上格式书写。
4.
配置用户
1 vi /opt/svndata/repos/conf/pwd.conf
输入以下内容:
[users]
username1 = password1
username2 = password2
可以添加多个,此为用户名密码对。
5.
配置权限
vi /opt/svndata/repos/conf/authz.conf
指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。
包括只读
r
,读写
rw
。没有列出的用户,则不允许访问。
还可以对用户分组,具体请参考
svn
手册,以下是简单例子:
[/opt/svndata/repos]
user1 = rw
user2 = r
6.
使用
import
导入文件
新建好的版本库是空的,需要导入工作目录。
$ svnadmin create /usr/local/svn/newrepos
$ svnimport mytree file:///usr/local/svn/newrepos/some/project
但是在导入后
,
用来的目录树并没有转换成工作拷贝,为了开始工作,还是需要运行
svn checkout
导出一个工作拷贝。
因为导入后,文件在版本库中是以特殊的形式存在
db
文件夹中的,不能以明文的方式查看。
必须使用
svn checkout
导出工作副本(
workcopy
)才能以正常方式查看。
svn checkout file:///usr/local/svn/newrepos/some/project workcopy
7.
启动服务
执行
svnserve
–
d
–
r /opt/svndata/repos/
启动服务
,
以
deamon
方式运行。
本系统采用
svnserve
方式
,
这是小团队项目的推荐方法
.
这种方法维护最少
,
配置最简单
.
指令简介:此指令用于启动
svn
服务,
-d
指明以守护模式运行,
svn
自动在
3690
端口监听。
3690
是默认端口,可以使用“–
listen-port=
”或者“–
listen-host=
”来指定其它端口。
-r
选项用来指定
svn
服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。
使用以下命令检出:
(svnserver
方式
)1 svn checkout svn://127.0.0.1/dir
以上为示例。
IP
需要根据具体情况调整,
dir
为版本库路径,若在启动时已指定则可省略。
版本库信息在版本库文件夹里,所以要删除版本库只需要删除版本库所在的文件夹即可。
另外工作副本只是自己维护的文件夹,可以用
Windows
直接删掉,对别人没有影响。
千万不要使用版本库的删除命令,否则版本库里的内容也会被删除。