备份 VisualSVN 版本库仓库
打开 Windows CMD 命令行,输入以下命令导出版本库;
1
2
3
4
5svnadmin dump D:\Repositories\sal D:\svnbackup\sal.dump
svnadmin dump D:\Repositories\pur D:\svnbackup\pur.dump
svnadmin dump D:\Repositories\settle D:\svnbackup\settle.dump
svnadmin dump D:\Repositories\sync D:\svnbackup\sync.dump
svnadmin dump D:\Repositories\wms D:\svnbackup\wms.dump将导出的 dump 文件上传到 Linux 系统
CentOS 7 安装 Subversion
使用 yum 安装 subversion
1
2yum install subversion -y
查看 svn 版本
1
svnserve --version
创建版本库存放目录
1
mkdir -p /data/svnrepos
创建项目版本库
1
2
3
4
5svnadmin create /data/svnrepos/sal
svnadmin create /data/svnrepos/pur
svnadmin create /data/svnrepos/settle
svnadmin create /data/svnrepos/sync
svnadmin create /data/svnrepos/wms
配置 SVN
创建版本库公共配置文件存放目录
1
mkdir -p /data/svnrepos/conf
随便复制一份项目的配置文件到公共配置文件目录
1
cp /data/svnrepos/sal/conf/* /data/svnrepos/conf/
配置文件包含以下:
- authz: 权限配置文件
- passwd: 用户名口令文件
- svnserve.conf: svn 服务配置文件
配置权限配置文件 authz,内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27[groups]
# 在[groups]块中添加项目分配用户,格式:项目目录名=用户名(账号),如下
admin = admin,root,test
pur=zhangronghan,yinsongwei,xieshiwei,songyannan,fengjie,admin
sal=zhangjianguo,laijinlu,jiangkaitong,fengjie,admin
settle=laijinlu,jiangkaitong,fengjie,admin
tester=lindexu,huangshuxiang
wms=lirenhe,yinsongwei,xieshiwei,fengjie,admin
# @xxxxx = rw 中的 "rw" 意思是 [groups] 下定义的用户对指定的 xxx 版本库有读写权限
[/]
@admin = rw
[pur:/]
@pur = rw
[sal:/]
@sal = rw
[settle:/]
@settle = rw
[tester:/]
@tester = rw
[wms:/]
@wms = rw配置用户口令文件 passwd,内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14[users]
# 在 [users] 块中添加用户和密码,格式:帐号 = 密码,如下
admin = admin123456
fengjie = fj123456
xieshiwei = xsw123456
jiangkaitong = jkt123456
zhangronghan = zrh123456
laijinlu = ljl123456
yinsongwei = ysw123456
songyannan = syn123456
zhangjianguo = zjg123456
lindexu = ldx123456
huangshuxiang = hsx123456
lirenhe = lrh123456配置 svn 服务配置文件 svnserve.conf,打开下面的几个注释,并修改如下:
1
2
3
4
5
6[general]
anon-access = none # 匿名用户可读(none匿名不可读写)
auth-access = write # 授权用户可写
password-db = /data/svnrepos/conf/passwd # 使用哪个文件作为账号文件
authz-db = /data/svnrepos/conf/authz # 使用哪个文件作为权限文件
realm = /data/svnrepos # 认证空间名,版本库所在目录清空各项目文件下 conf 目录中的所有文件,然后复制 svnserve.conf 文件到各项目的 conf 目录下
1
2
3
4
5
6
7
8
9
10
11
12
13# 清空文件
rm -rf pur/conf/*
rm -rf sal/conf/*
rm -rf settle/conf/*
rm -rf sync/conf/*
rm -rf wms/conf/*
# 复制 svnserve.conf 文件
cp /data/svnrepos/conf/svnserve.conf /data/svnrepos/sal/conf/
cp /data/svnrepos/conf/svnserve.conf /data/svnrepos/pur/conf/
cp /data/svnrepos/conf/svnserve.conf /data/svnrepos/settle/conf/
cp /data/svnrepos/conf/svnserve.conf /data/svnrepos/sync/conf/
cp /data/svnrepos/conf/svnserve.conf /data/svnrepos/wms/conf/还原 dump 文件到 Linux 平台的 SVN
1
2
3
4
5
6
7cd /data/svnrepos
svnadmin load pur < /root/pur.dump
svnadmin load sal < /root/sal.dump
svnadmin load settle < /root/settle.dump
svnadmin load sync < /root/sync.dump
svnadmin load wms < /root/wms.dump
启动 SVN
如果想使用 systemd 管理 svn 服务,需要修改 /etc/sysconfig/svnserve 文件,修改为如下:
1
OPTIONS="-r /data/svnrepos"
启动 svn 服务,并配置开机启动
1
systemctl enable --now svnserve.service
使用 svn 测试
1
2mkdir test && cd test
svn co svn://192.168.64.13:3690/sal