您的位置:首页 > 运维架构 > Linux

linux/ubuntu svn 项目拷贝/迁移/合并

2015-09-08 10:15 369 查看
问题:假设我们有用户A和B,A拥有原始项目副本目录a,B拥有最新项目副本目录b,A的副本可以废弃了,A需要更新到B的副本继续工作,最简单的方法是删除a目录下的所有文件,在拷贝b目录下的所有文件到a,这里介绍一下基于客户端的snv shell脚本操作流程

1,签出项目目录a和项目目录b

1.1,进入用户根目录

cd ~

1.2,签出项目目录a

svn checkout https://www.xxx.com/svn/a --username 用户名 --password 密码

1.3,签出项目目录b

svn checkout https://www.xxx.com/svn/b --username 用户名 --password 密码

2,删除svn服务器上a目录下的所有内容

2.1,进入目录a

cd ~/a

2.2,删除本地目录a中所有内容

svn rm *

2.3,更新操作到svn服务器

svn commit -m "delete old version"

此刻svn服务器上a目录的所有数据都没了,本地也没了

3,添加目录b中的所有内容到svn服务器中的a目录下

3.1,进入b目录

cd ~/b

3.2,删除所有.svn目录

find . -name .svn -type d | xargs rm -rf

3.3,更新本地b目录下的所有文件到svn服务器的a目录下

svn import -m "update b to a" ~/b https://www.xxx.com/svn/a
此刻svn服务器上a目录下的内容就和b目录保持一致了.

4,验证拷贝过程

4.1,回到用户根目录

cd ~/

4.2,删除本地目录 a和b

sudo rm -r ~/a ~/b

4.3,签出项目目录a

svn checkout https://www.xxx.com/svn/a --username 用户名 --password 密码

4.4,签出项目目录b

svn checkout https://www.xxx.com/svn/b --username 用户名 --password 密码

4.5,删除.svn目录

find ~/a -name .svn -type d | xargs rm -rf

find ~/b -name .svn -type d | xargs rm -rf

4.6,比较

比较过程就不多说了,我用的是图形界面工具meld

(安装参考 http://blog.csdn.net/shanzhizi/article/details/18253001)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: