VisualSVN Server仓库迁移到Linux(包含所有版本, 权限,用户信息)

转载:http://blog.csdn.net/yuwenruli/article/details/8451849

Windows服务器深度中毒,从Windows换成CentOS,所以要把原服务都转移到Linux下,SVN的转移却遇到了些问题,花费了三天时间,走了不少弯路,现在总算解决了SVN迁移问题,记录下:

在Windows上我们是用VisualSVN Server作SVN服务的,linux上是编译安装的subversion 1.7.7。
Windows 的SVN仓库在E:\SVNRepositories,Linux在 /data/svnrepos

  • 第1步,导出VisualSVN仓库:
    svnadmin dump E:\SVNRepositories\repo1 > E:\repo1.dump

  • 第2步,在Linux端create相同名称的仓库:

svnadmin create /data/svnrepos/repo1
  • 第3步,在Linux端load Windows导出的库:
cd /data/svnrepos
svnadmin load repo1 < repo1.dump

到此为止,repo1库就导入到Linux的subversion中了,但是用户信息、权限信息还没导入(这也是我折腾很久的问题),继续:

  • 第4步,把E:\SVNRepositories\authz 上传到 /data/svnrepos
    把E:\SVNRepositories\htpasswd 复制为 passwd 并修改后上传到 /data/svnrepos修改后的passwd格式如下(其实就是用户名 = 密码):
[users]
  user1 = 123
  user2 = 456
  • 第5步,修改仓库的/conf/svnserve.conf,使它指向第4步上传的那两个文件:
[general]
    anon-access = none
    auth-access = write
    password-db = ../../passwd
    authz-db = ../../authz

到这里就完成了,用命令 svnserve -d -r /data/svnrepos/ 启动subversion服务。

这样做还有个问题是passwd文件原密码信息全丢失了,由于windows下使用的apache的密码文件,密码使用的MD5加密的,而在Linux下svn的passwd文件的密码是明文形式保存的。所以原来的MD5密码将不可使用。

我只用了repo1这个仓库,如果有多个仓库一样步骤,分别导出导入,并修改仓库的/conf/svnserve.conf
如果按照上述方法操作还是不行,启动svnserve时用 –log-file ./log.txt参数查看错误信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值