xiaoleill的个人空间 https://blog.eetop.cn/1006712 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

SVN Tree Conflict 的分析 (转)

热度 1已有 41483 次阅读| 2012-11-20 15:21 |个人分类:svn

所谓Tree Confict,就是至少有一个人修改了目录结构,包括文件或者文件所在目录的改名、删除、移动。

然后Update或Merge的时候就报了Tree Conflict。

 

介绍一下概念

Delete : 其中目录结构变化,都认为是Delete

Edit: 是指修改文件

Local : 是你本地修改

Incoming :是别人修改,你要Update或Merge进来。

这样应该有4个组合,但是Edit对Edit的组合应该是File Conflict,这个容易解决,不在Tree Conflict 讨论范围,所以有3种组合

再需要区别Update和Merge,就有了6种情况。分别是

Local delete, incoming edit upon update
Local edit, incoming delete upon update
Local delete, incoming delete upon update
Local missing, incoming edit upon merge
Local edit, incoming delete upon merge
Local delete, incoming delete upon merge

 

我目前认为比较可行的方法,就是那个文件或文件夹一定会被标识成为TreeConflict,这时就用log查看谁修改了什么,最好和其他组员沟通一下,然后人工思考如何合并即可。掌握原理应该有助于分析,但是确实有点小乱,看我整理的下表:

image

image

 

另外Tortoise SVN会有一些辅助的菜单,(A为Incoming、B为Local)

对应1的 ( A修改文件内容,B修改文件名)

A 修改Foo.txt 并Commit

B 将Foo.txt 改名为 Bar.Txt, Update 将是下面的界面。注要用svn的Rename不是文件管理器下的重新命名

clip_image002

 

对应1的 (A修改文件内容,B删除文件)

A 修改Foo.txt 并Commit

B 将Foo.txt 使用SVN的 Delete

clip_image002[5]

 

对应2的 ( A修改文件名,B修改文件内容)

A 将文件barbar.txt改名为barbarbar.txt,并且提交

B 修改barbar.txt 获取最新

clip_image002[13]

其实对barbar.txt 修改已经在barbarbar.txt 中了。

clip_image002[9]

 

对应2的(A将文件夹重命名,B修改文件内容)

A将yy文件夹重命名为ee,这时svn将yy和yy下面的文件删除。

B 修改barbar.txt 获取最新

 clip_image002[11]

(原文来至 http://www.cnblogs.com/gf7788/archive/2009/08/24/1552726.html)

//-----------增加内容----------

Unversion tree conflict :

>svn st

D   C  sys_test04

        Local unversioned, Incoming add upon update

Solution:

>svn revert sys_test04

>svn up

Then sys_test04 will restored from svn server...

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 0

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 13:56 , Processed in 0.025235 second(s), 18 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部