> CentOS > CentOS入门 >

CentOS下SVN指令简介

CentOS-SVN指令简介

前言

         服务器操作系统:LinuxCentOS_6.7_x64

安装SVN

         yum install svn

SVN安装简述

安装svn之后,服务器端拥有了三种指令:

svnserve     svn服务器端指令

svnadmin     svn管理员指令

svn          svn客户端指令

启动SVN

svnserve -d -r /data/svn/repository

#以指定目录为根目录启动svn服务

创建svn版本库

svnadmin create /data/svn/repository/MyP01

#在指定目录创建一个svn库,此目录应在svn服务根目录下

编辑SVN库配置

cd/data/svn/repository/MyP01/conf/

   刚创建的svn库会在指定目录下自动生成一个conf文件夹和三个文件:conf/authz、conf/passwd、conf/svnserve.conf,分别是:svn认证信息、svn账户密码、svn服务配置

   前两者文件名、路径都可以改,是由svnserve.conf里指定的。

编辑svnserve.conf

找到

#password-db = passwd

#authz-db = authz

   取消前面的#注释就可以指定认证资料存储文件了;

   找到#anon-access = 这一行,这一行一定程度上决定了匿名访问时的权限,修改为anon-access= none(似乎不改成这个就无法查看svn日志信息)。

   auth-access一定程度上决定了授权用户的访问权限,但是在指定了账号密码文件的情况下这个似乎没卵用;

   realm= My First Repository 指定了svn库的别名,自己改一下最好,好看点,不然用的是一个随机码;

   其它的,略;

编辑authz

这个文件决定了哪些用户/组对库的哪些目录有哪些权限

示例:

   [/]

   seraph_fd = rw

      * = r

   表示对于根目录来说,seraph_fd用户具有读写权限,任意用户(包括游客)都有读权限;

   将上述追加到autz的尾部即可

   再复杂的我也没查,略;

编辑passwd

这个文件决定了那些用户的访问密码

示例:

   [users]

   seraph_fd = 1234

   再复杂的我也没查,略;

 

导出SVN项目

svn checkout svn://127.0.0.1/MyP01 /data/P01

#将指定svn库导出到指定目录

更新SVN副本

svn update /data/P01

#将指定副本更新到最新版

svn update /data/P01 -r 50

#将指定副本更新到指定版本号(50)

其它

svn revert /data/P01

#还原指定副本

svn commit /data/P01 -m ‘测试提交.’

#提交指定副本并指定版本日志

最后

关于SVN,改之前记得更新,以免引起不必要的冲突;

关于指令,多使用help 或 --help 参数获取指令提示,例如:

svnadmin --help

   svn update --help

svn这个指令,查了下,有公共参数:--username--password,例如:svnupdate /data/P01 --username seraph_fd --password 1234

其它更多的,使用--help吧。

*某些理解可能有偏差,但亲测能用

 

(责任编辑:IT)