关于SVN的一些概念和配置文件理解

首先看一个SVN链接实例:svn://192.168.5.2/repoexp/2017/files

svn://代表SVN协议,是直接由svnserve提供网络服务,其余的 svn+ssh://以及 http://模式都是SVN结合额外的服务程序实现的。

192.168.5.2就是运行服务的主机,大家都统一访问这个主机上的版本仓库。

repoexp实际上是一个仓库(repository)的名字。

从2017开始,是存在于仓库内部的目录名字。


上述四个概念清楚了以后,对一些配置才能更好的理解。

一、在版本库主机上启动svnserve进程才能提供 svn://服务

这个不用多说。


二、主机上版本库的实际存储目录

这个是根据 svnserve的 -r 参数指定的,

CentOS发行版默认是 -r /var/svn

这个目录就是主机上所有SVN仓库的统一存放目录。

各个仓库的配置信息都会和这个目录密切相关。


三、仓库和仓库名字

仓库是用 svnadmin create <仓库目录>创建的

这个目录一定要满足 /var/svn/<仓库名>这个模式,才能通过网络进行访问。


四、仓库的配置

在同一个主机上,每个仓库都是独立配置的,

配置文件就是在仓库所在目录下的conf/svnserve.conf

这个文件的配置不太复杂,其中值得一提的是

password-db=..\..\passwd
authz-db=..\..\authz

这两项配置都是指向外部文件的,而外部文件的位置是相对于本仓库的conf子目录的

如果只有文件名,那就是指向本仓库所在目录的conf子目录内部,相关信息是本仓库专用的。

如果带有相对路径,例如 ../../passwd,那么就可以在多个仓库之间共享,例如一致的用户名和口令文件。

authz-db则涉及到仓库内部目录(指在访问仓库时看到的那些保存了工作文件的目录,这个在主机上是看不到的)

    版本库路径权限段的段名格式如下:

        [<版本库名>:<路径>]
    如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。
    可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。

如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。

所以,能够让所有的仓库都使用同一个权限配置文件,对于所有仓库都相同的权限,就可以省略库名,而各个仓库独特的权限就明确指定库名。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值