编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

svn服务器镜像备份方法(svn服务器导入项目)

wxchong 2024-08-26 23:58:23 开源技术 11 ℃ 0 评论

server master 192.168.0.100-->源版本库


server slave 192.168.0.101-->镜像版本库


1.初始化svnsync init svn://镜像版本库ip svn://源版本库ip


svnsync init svn://192.168.0.101/ svn://192.168.0.100/

2.执行备份 svnsync sync svn://镜像版本库ip


svnsync sync svn://192.168.0.101/

3.需要修改的地方


在server slave服务器版本库中添加 pre-revprop-change


#!/bin/sh -->这个一定需要写上

exit 0

chmod +x pre-revprop-change 读写权限 775

在执行初始化动作时,需要填写server slave的账号和密码


配置完后可以再在从服务器上添加一个post-commit


#!/bin/sh

export LANG=zh_CN.UTF-8

SVN=/usr/bin/svn

WEB=/mnt/www/wenyin

$SVN update $WEB --username 'admin' --password 'XXXXX'

svnsync sync --non-interactive svn://192.168.0.1/ --username xxx --password xxx

svnsync init svn://镜像版本库ip svn://源版本库ip


------------------------------svn同步时提示uuid错误

操作TortoiseSVN时,报如下错误:

Command Update

Repository UUID 'xxxxxxxx' doesn't match expected

UUID 'xxxxxxxx'

Finished!


可以看到,原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。

因此,目前的解决办法是:使用相关命令更新Repository的UUID。

具体办法如下:

1、首先查看项目的所有者的UUID

# svnlook uuid /var/svn/repos

xxxxxxx

2、更新项目的UUID

# svnadmin setuuid /var/svn/repos xxxxxxx

3、查看一下更新后的UUID

# svnlook uuid /var/svn/repos

附:

UUID是repository创建时自动生成的一个随机数, SVN Client利用UUID判断是否为同一个resp。一般遇到UUID不同时,需要重新checkout

?J+?q&c7

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表