SVN安装
CentOS7/8/Stream
# 安装subversion
sudo yum install subversion
midkr /opt/svndata/demo
svnadmin create /opt/svndata/demo
# 配置文件路径
cd /opt/svndata/demo/conf
passwd //帐号密码文件
[users]
# harry = harryssecret
liuqing = passwdxxx
authz //权限控制文件
[groups]
admin = user1,user2
[/]
@admin = rw
user3 = rw
* =
[/demo/doc]
user4 = rw
user5 = r
# 指出针对哪个仓库
# [repository:/baz/fuz]
# 该仓库授权给此组
# @harry_and_sally = rw
# 其他授权为只读
# * = r
svnserve.conf //SVN服务配置文件
# 打开以下配置
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
SVN启动
设置端口和启动目录
# 添加SVN用户和设置权限
useradd svn
chown svn:svn -R /opt/svndata/
# 启动和重启服务
ps -ef |grep svnserve |awk {'print $2'} | sed -e "s/^/kill -9 /g" |sh -
su - svn -c "svnserve -d --listen-port 9000 -r /opt/svndata"
authorization failed
conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
conf/passwd
[users]
admin=passwd123
conf/authz
[groups]
[/]
admin= rw
SVN备份迁移
# 备份全部
svnadmin dump /opt/svndata/repos > repos.dump
# 备份排除文件夹
svndumpfilter exclude svwmp2 < repos.dump > filtered.dump
# 导入备份文件
rm -rf /opt/svndata/repos
svnadmin load /opt/svndata/repos < filtered-repos.dump
# 备份并打包
svnadmin dump /opt/svndata/repos | gzip > repos-backup.gz
# 解压
guzip repos-backup.gz
# 创建SVN节点 需要配置serve
svnadmin create /opt/svndata/repos
# 导入备份文件
svnadmin load /opt/svndata/repos < repos-backup.dump
# 导出时多文件夹过滤
svndumpfilter exclude demoworks WebSocket < repos-backup > filtered.dump