svn同步和导入导出

来源:互联网 发布:深度优化dnf多玩 编辑:程序博客网 时间:2024/05/16 16:03

Svn库的导入和导出设置

导出:

svnadmin dump/home/svnuser/csvn/data/repositories/yunwei > /data/backup/yunwei-backup.svn

导入:

导入之前需要建立一个相同的库名,然后执行下面语句

svnadmin load/home/svnuser/csvn/data/repositories/yunwei < /data/backup/yunwei-backup.svn

 

svnadmin dump/home/svnuser/csvn/data/repositories/yunwei>yunwei123.dump

svnadmin load/home/svnuser/csvn/data/repositories/yunwei/ --parent-dir test <yunwei123.dump

 

svn同步:

在目标库和源库都建一个相同的有读写权限的账户        

登录http://192.168.1.1/csvn建立空库:yunwei

su svnuser

cd/data/develop/csvn/data/repositories/yunwei/hooks

vi pre-revprop-change

编辑以下内容:

#!/bin/sh

exit 0

给予可执行权限

chmod +x pre-revprop-change

同步服务器

初始任务

svnsync init http://192.168.1.1/svn/yunwei http://192.168.1.2/svn/yunwei

执行同步

svnsync sync http:/192.168.1.1/svn/yunwei

 

 

更新同步

在源库的hooks下面,添加post-commit 脚本

可拷贝post-commit.tmpl

cp post-commit.tmpl post-commit

把post-commit 设为755权限。

chmod 755 post-commit

然后把 post-commit 中,最后两行替换为

svnsync sync  --non-interactivehttp://192.168.144.143:18080/svn/yunwei --username user --password user

svnsync sync  --non-interactivehttp://192.168.144.143:18080/svn/yunwei --username svnuser --password ihush.com


subversion命令启用repo

1.先进入conf文件夹,修改svnserve.conf,把anon-access = read 前的注释去掉,建议改成none,此项是匿名的访问权限,把auth-access = write前的注释去掉,此项是授权用户访问权限,把authz-db=authz前的注释去掉,注意:注释去掉之后空格不能留

2.修改passwd文件,增加创建用户的密码,格式为“user”=“password”

3.修改authz文件,在最后增加格式如下:

[/]

user=rw

全部修改完后使用svnserve -d -r “repo”启动svn库 (repo为创建的库名)


同步排错:

如果同步时出现Failed to get lock on destination repos, currently held by 'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02',可以执行svn propdel svn:sync-lock --revprop -r0 file:///home/backup/svn/svnsync/SMP