Linux搭建 SVN 服务器

来源:互联网 发布:自考本科 留学 知乎 编辑:程序博客网 时间:2024/06/06 02:46

安装 Subversion

Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。

yum install -y subversion

创建项目版本库

 mkdir -p /data/svn/myproject

svnadmin create /data/svn/myproject

配置文件简介

版本库中的配置目录 conf 有三个文件:

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务综合配置文件

配置权限配置文件 authz

现在请 编辑 authz ,内容参考如下:

示例代码:/data/svn/myproject/conf/authz
[groups]            #用户组admin = admin,root,test  #用户组所对应的用户[/]                 #库目录权限@admin = rw         #用户组权限*=r               #非用户组权限

配置账号密码文件 passwd

现在请 编辑 passwd ,内容参考如下:

示例代码:/data/svn/myproject/conf/passwd
[users]# harry = harryssecret# sally = sallyssecretadmin = 123456root = 123456test = 123456

配置 SVN 服务综合配置文件 svnserve.conf

现在请 编辑 svnserve.conf ,内容参考如下:

示例代码:/data/svn/myproject/conf/svnserve.conf
[general]# force-username-case = none# 匿名访问的权限 可以是read、write,none,默认为readanon-access = none#使授权用户有写权限auth-access = write#密码数据库的路径password-db = passwd#访问控制文件authz-db = authz#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字realm = /data/svn/myproject[sasl]

启动 SVN

svnserve -d -r /data/svn

checkout SVN项目

mkdir -p /data/workspace/myprojectsvn co svn://127.0.0.1/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache

提交文件到 SVN 服务器

从本地提交文件到 SVN 服务器,其中 root 密码为 /data/svn/myproject/conf/passwd 文件存储的密码

cd /data/workspace/myprojectecho test >> test.txtsvn add test.txtsvn commit test.txt -m 'test'

提交成功后可以通过如下命令从本地项目删除文件

cd /data/workspace/myprojectrm -rf test.txt

删除后可以通过 SVN 服务器恢复

cd /data/workspace/myprojectsvn update