Linux 下 svn 服务搭建
文章目录
安装
|
|
创建仓库
|
|
配置
svn 的配置在仓库根目录下的 conf
文件夹中
|
|
passwd
passwd
是配置用户名和密码的文件
增加用户在 [users]
下添加账号和密码,格式为 账号=密码
|
|
authz
authz
是配置用户组及对应版本库的权限
[groups]
配置用户组以及组员,组员之间用 ,
隔开
版本库通过 []
表示, [/]
表示版本库的根目录, [repository:/]
表示名为 repository
的版本库, [repository:/public]
表示名为 repository
版本库下的 public
目录。
用户组以 @
开头, @dev
表示 dev
用户组,不以 @
开头表示用户。后面接对应的权限, r
表示可读, w
表示可写,不填表示没有权限。
|
|
svnserve.conf
svnserve.conf
是用来设置用户密码配置文件所在的路径,和用户权限配置文件所在的路径,主要有以下 4 个配置
anon-access
用来设置没有认证的用户所具有的权限,有三个取值none
表示没有权限,write
表示可以往服务器提交数据,read
表示可以从服务器更新数据,但是不能提交。auth-access
用来设置验证用户所具有的权限,和anon-access
一样有三个表示权限的值,这里不再赘述。password-db
用来指定用户名和密码所在的路径authz-db
用来指定权限所在的路径
|
|
删除仓库
|
|
启动服务
|
|
svn 默认端口号是 3690,可以通过 --listen-port xxx
来指定特定的端口
-d 表示后台运行
-r 后面跟 svn 仓库的路径
多版本库管理
在 svn 的管理中,可能会存在多个版本库的情况,这样就需要管理多个版本库。
一般的做法是创建好了不同的版本库,分别启动一个 svnserve 去管理。这样做简单,但是第二个库开始就需要指定端口,默认的端口(3690)已经被第一个占用了。而且项目之间存放的路径可能不同,比较分散,这样管理起来就比较麻烦。
|
|
除了上面的做法,还有一种做法是把所有的仓库存放在同一个目录下,统一管理。这样就可以通过一个端口来管理所有的版本库了,不过需要注意的是这些仓库需要放在同一个目录下。
|
|
版本库的备份
随着开发不断进行,版本库的版本号一直在增加,内容也在不断增多,占用的空间也越来越大,这时候我们可以通过备份来丢弃掉前面的一些版本,以此达到精简版本的目的。
备份的指令是 svnadmin dump 仓库的路径 -r 开始版本号:结束版本号 > 保存的地址
举个🌰
|
|
版本库的导入
版本库备份之后,我们还要把它导入到一个新的仓库中使用。
导入的指令是 svnadmin load 仓库的地址 < 精简之后的地址
同样举个🌰
|
|