SVN服务器安装
svn
版本管理工具
安装
yum -y install subversion
#查看版本
svnserve --version
#查看安装位置
rpm -ql subversion
创建版本库目录
mkdir -p /var/svn/repos
创建svn版本库
svnadmin create /var/svn/repos/node
#node:版本库名称
配置修改
#配置文件
/var/svn/repos/node/conf/authz
负责账号权限管理
/var/svn/repos/node/conf/passwd
负责账号和密码的用户名单管理
/var/svn/repos/node/conf/svnserve.conf
svn服务器配置文件
eg:
----------------------
用户权限配置:authz
[/]
user = rw
用户密码配置:passwd
user = password
svn配置文件:svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository
END
----------------------------
防火墙
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
启动svn
svnserve -d -r /var/svn/svnrepos
#客户端访问
svn://x.x.x.x/node
#svnserve -d -r /var/svn/svnrepos/node
客户端访问
svn://x.x.x.x
关闭svn服务
kill pid
pkill svnserve
删除版本库
find / -type d -name ".svn" | xargs rm -rf
subversion备份迁移
1、命令
svnadmin dump:用于导出整个或某个范围的修订版本
-r 1:100:表示导出版本0到版本100的修订版
--incremental:使用增量的方式导出版本
svnadmin load:用于导入版本库
重定向
svnadmin dump oldrepository > dumpfile
svnadmin load newrepository < dumpfile
合并使用
svnadmin dump oldrepositor | svnadmin load newRepository
迁移版本库(示例)
方法一:
1、svnadmin dump oldRepository > dumpfile
2、svnadmin create newRepository
3、svnadmin load newReository < dumpfile
方法二:
分批增量迁移
1、查看当前版本库最新版本号
svnlook youngest oldRepository //全路径或版本库上层路径
2、分批导出
svnadmin dump oldrepository -r 0:100 > dumpfile1
svnadmin dump oldrepository -r 101:200 --incremental > dumpfile2
svnadmin dump oldrepository -r 201:281 --incremental > dumpfile3
3、分批导入
svnadmin load newRepository < dumpfile1
svnadmin load newRepository < dumpfile2
svnadmin load newRepository < dumpfile3
方法三:
过滤版本库历史
1、全量导出版本库
svnadmin dump oldrepository > dumpfile
2、将版本库目录下的不同项目的顶级目录送进过滤器
cat dumpfile | svndumpfilter include Project1 > 1-dumpfile
cat dumpfile | svndumpfilter include Project2 > 2-dumpfile
3、导入
svnadmin create project1
svnadmin load project1 < 1-dumpfile
svnadmin create project2
svnadmin load project2 < 2-dumpfile