Subversion树摩擦
Subversion树冲突树冲突场景同一条分支,有2个Dev在同时编辑一个文件,两人没沟通好:其中一Dev A把一个文件
Subversion树冲突
树冲突场景同一条分支,有2个Dev在同时编辑一个文件,两人没沟通好:其中一Dev A把一个文件移到另外一个目录或者重命名了,并且已经提交;另一Dev B也同时在修改这个文件内容,并不知道A已经将该文件转移或重命名;冲突出现:当Dev B想提交代码到分支时,会出现不让提交情况。
场景实例初始分支:?xfc 写道$ svn list -Rv http://xxx.com/branches/boringkiller
? 61536 fangchen 2月 13 19:32 htdocs/
? 61536 fangchen 59 2月 13 19:32 htdocs/changeLog.txt
?Dev A的改动,且提交:xfc 写道$ svn st
A htdocs/changlog.txt
D htdocs/changeLog.txt?Dev B的改动:xfc 写道$ svn st
M htdocs/changeLog.txt?此时Dev B想提交代码,报错:xfc 写道$ svn ci -m"xfc ci"
Sending htdocs/changeLog.txt
svn: E155011: Commit failed (details follow):
svn: E155011: File '/home/xfc/works/myDemo/htdocs/changeLog.txt' is out of date
svn: E160013: File not found: transaction '61545-1cqn', path '/misc/avatar/branches/boringkiller/htdocs/changeLog.txt'?svn up后:xfc 写道$ svn up
Updating '.':
? ? ? C htdocs/changeLog.txt
A htdocs/changlog.txt
At revision 61545.
Summary of conflicts:
Tree conflicts: 1?
解决办法一方案(以Dev A的版本为准,把Dev B自己的改动合并到Dev A的改动上)?
第一步
?写道$ svn diff htdocs/changeLog.txt
Index: htdocs/changeLog.txt
===================================================================
--- htdocs/changeLog.txt(working copy)
+++ htdocs/changeLog.txt(working copy)
@@ -2,3 +2,5 @@
@Author xfc
Tree Conflict Demo.
+
+I'm editing this file.?
第二步
?写道$ svn diff htdocs/changeLog.txt > replace第三步,编辑replace文件,替换 “changeLog.txt”为“changelog.txt”
第四步
xfc 写道$ svn patch replace
? ? U htdocs/changlog.txt现在的状态:
?写道$ svn st
M htdocs/changlog.txt
A + C htdocs/changeLog.txt
> local edit, incoming delete upon update
Summary of conflicts:
Tree conflicts: 1
?
第五步,删除冲突文件
xfc 写道svn del --force htdocs/changeLog.txt
? ? D htdocs/changeLog.txt?
?最后:
?写道$ svn st
? ? M htdocs/changlog.txt
二方案(以Dev B的版本为准,把Dev A对文件的重命名无效)
?
第一步,删除A的改动:
xfc 写道$ svn del --force htdocs/changlog.txt
? ? D htdocs/changlog.txt?第二步,接受本地working的改动
xfc 写道svn resolve --accept=working htdocs/changeLog.txt
? ? Resolved conflicted state of 'htdocs/changeLog.txt'?看本地改动是否生效:
xfc 写道svn diff
Index: htdocs/changlog.txt
===================================================================
--- htdocs/changlog.txt(revision 61559)
+++ htdocs/changlog.txt(working copy)
@@ -1,5 +0,0 @@
-Boring Killer Change Log:
-@Author xfc
-
-Tree Conflict Demo.
-
Index: htdocs/changeLog.txt
===================================================================
--- htdocs/changeLog.txt(working copy)
+++ htdocs/changeLog.txt(working copy)
@@ -3,3 +3,4 @@
Tree Conflict Demo.
+I'm editing my file.?完毕,ci了~
参考资料http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html
? 总结:
? ? 使用到的svn一些没接触过的命令
?
svn patch?svn del --force filepathsvn resolve --accept=working filepath?
?
?