Linux下搭建SVN服务器

来源:互联网 发布:jre 7u9 windows 编辑:程序博客网 时间:2024/05/16 01:59

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

1.Subversion的安装

安装:yum install subversion

版本校验:svnserve --version

2.建立版本库目录

mkdir /opt/svndata

3.创建版本库

svnadmin create /opt/svndata

[root@beasin ~]# ls /opt/svndata/
conf db format hooks locks README.txt

注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。

4.配置版本库

进入版本库目录下的conf文件夹,该文件夹下有三个文件:

svnserve.conf:svn服务配置文件

passwd:用户名口令文件

authz:权限配置文件

配置svn服务文件svnserve.conf

[general]# 使非授权用户无法访问anon-access = none # 使授权用户有写权限auth-access = write# 指明密码文件路径password-db = passwd# 访问控制文件authz-db = authz# 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。realm = /opt/svndata/
其它采用默认配置,各语句都必须顶格写,左侧不能留空格,配置行不允许有注释,否则会出错。

配置svn密码文件passwd

[users]#account = passwordzhou = 123game = 123test =123

此为用户名密码对。

配置权限文件authz

# [groups]组配置格式# group = acount1,acount2# [根目录名:/子目录名]版本库路径配置# 权限配置格式# 用户权限# * = r# acount =wr# 组权限配置# @group = wr#未配置的代表无权限#组配置[groups]deve = zhou,test#版本库跟路径权限配置[/]test =r@deve = wr#跟路径中proj路径权限配置[/proj/]game = r@deve = wr

注意,此处的proj目录为svn客户端在版本库中建立的目录,并且commit的,服务器端是没有实际的该目录,因为svn目录和系统目录不同,服务端有自己管理目录的数据格式,不能手动在服务端建立,对于[/proj/]和[proj:/]是一样的。

5.启动svn服务

[root@beasin ~]# svnserve -d -r /opt/svndata/

指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“--listen-port=”或者“--listen-host=”来指定其它
端口。-r选项用来指定svn服务的根目录,这样用户配置中就可以使用相对路径访问,而不用提供完整路径。

6.检查端口

[root@beasin ~]# netstat -ntlp|grep 3690
tcp      0          0 0.0.0.0:3690     0.0.0.0:*          LISTEN         15087/svnserve

注意在防火墙配置/etc/sysconfig/network/iptables中放行端口

7.其他指令

从服务端下载代码:svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/Documents/code

提交更改:svn commit -m "修改了main.m文件"

更新代码:svn update

其他指令帮助:svn help

0 0
原创粉丝点击