使用Subversion协同工作

使用Subversion协同工作

问题

1)沿用练习一,通过svn工具,对subversion版本库进行多人协同工作测试,要求如下:
2)使用subversion管理公司的shell脚本
3)脚本包括/etc/rc.d/init.d/目录下的启动脚本
4)以及任何用户自己编写的脚本
5)创建脚本版本库
6)该版本库支持多个账户同时协作编辑脚本
7)测试演示多人协作编辑的具体操作
8)手动解决版本冲突问题
9)备份版本库数据

方案

使用svn客户端工具连接subversion服务器并测试多人协同工作以及如何手动解决冲突问题,账户名称分别为harry和tom,最后使用svnadmin dump指令对版本库进行备份工作。

步骤

实现此案例需要按照如下步骤进行。
步骤一:多人协同工作
1)开启两个终端,每个人下载本地副本

[root@srv5 ~]# rm –rf /var/tmp/*
[root@srv5 ~]# cd /var/tmp
[root@srv5 ~]# useradd user1
[root@srv5 ~]# useradd user2
[root@srv5 ~]# su – user1
[root@srv5 ~]# su – user2
[user1@srv5 ~]# svn --username harry --password pass co svn://127.0.0.1/project harry
[user2@srv5 ~]# svn --username toom --password pass co svn://127.0.0.1/project tom
[user1@srv5 ~]# ls harry
[user2@srv5 ~]# ls tom
  1. harry和tom修改不同的文件

    [user1@srv5 ~]# cd harry
    [user1@srv5 harry]# sed -i “3a###harry’s modify#####” svnserve
    [user1@srv5 harry]# svn commit -m “svnserve has modified”
    [user2@srv5 ~]# cd tom
    [user2@srv5 tom]# sed -i “3a###tom’s modify#####” sshd
    [user2@srv5 tom]# svn commit -m “sshd has modified”
    [user1@srv5 harry]# svn update
    [user2@srv5 tom]# svn update

3)harry和tom修改相同文件的不同行

[user1@srv5 ~]# cd harry
[user1@srv5 harry]# sed -i "10a###harry\'s modify#####" svnserve
[user1@srv5 harry]# svn commit -m "svnserve has modified"
[user2@srv5 ~]# cd tom
[user2@srv5 tom]# sed -i "20a###tom\'s modify#####" svnserve
[user2@srv5 tom]# svn commit -m "svnserve has modified"
Sending        svnserve
Transmitting file data .svn: Commit failed (details follow):
svn: File '/svnserve' is out of date
[user2@srv5 tom]# svn update			//提示失败后,先更新再提交即可
[user2@srv5 tom]# svn commit -m "svnserve has modified"
Sending        svnserve
Transmitting file data .
  1. harry和tom修改相同文件的相同行

    [user1@srv5 ~]# cd harry
    [user1@srv5 harry]# sed -i “10c###harry’s modify#####” svnserve
    [user1@srv5 harry]# svn commit -m “svnserve has modified”
    [user2@srv5 ~]# cd tom
    [user2@srv5 tom]# sed -i “10c###tom’s modify#####” svnserve
    [user2@srv5 tom]# svn commit -m “svnserve has modified”
    svn commit -m “svnserve has modified”
    Sending svnserve
    Transmitting file data .svn: Commit failed (details follow):
    svn: File ‘/svnserve’ is out of date
    [user2@srv5 tom]# svn update //出现冲突,需要解决
    Conflict discovered in ‘svnserve’.
    Select: § postpone, (df) diff-full, (e) edit,
    (mc) mine-conflict, (tc) theirs-conflict,
    (s) show all options:p //选择先标记,随后解决
    [user2@srv5 tom]# ls
    svnserve svnserve.mine svnserve.r10 svnserve.r9
    [user2@srv5 tom]# cp svnserve.mine svnserve
    [user2@srv5 tom]# rm svnserve.mine svnserve.r10 svnserve.r9
    [user2@srv5 tom]# svn commit -m “svnserve has modified” //解决冲突

步骤二:使用dump指令备份版本库数据

[root@srv5 ~]# svnadmin dump /var/svn/project > project.bak
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
* Dumped revision 3.
* Dumped revision 4.
* Dumped revision 5.
* Dumped revision 6.
* Dumped revision 7.
* Dumped revision 8.
* Dumped revision 9.
* Dumped revision 10.
* Dumped revision 11.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值