冲突包括文件内容冲突 和 树冲突
svn resolved 不被建议使用了,建议使用svn resolve
文件内容冲突
- /root/learn_svn/svn_protocol/svn_project1
[root@YUM svn_project1]# svn status -vu
6 6 ? file
6 4 ? dir1/file2
6 4 ? dir1
6 5 ? dir2/file
6 5 ? dir2
6 6 root .
版本的 6 状态
[root@YUM svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
[root@YUM svn_project1]# echo `date` >> file
[root@YUM svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
2020年 03月 16日 星期一 03:17:33 CST
[root@YUM svn_project1]# svn status -vu
M 6 6 ? file
6 4 ? dir1/file2
6 4 ? dir1
6 5 ? dir2/file
6 5 ? dir2
6 6 root .
版本的 6 状态
[root@YUM svn_project1]# svn commit -m "conflict 1"
正在发送 file
传输文件数据.
提交后的版本为 7。
[root@YUM svn_project1]# svn update
版本 7。
- /root/learn_svn/file_protocol/svn_project1
[root@YUM svn_project1]# export SVN_EDITOR=vim
[root@YUM svn_project1]# which vim
/usr/bin/vim
[root@YUM svn_project1]# svn status -vu
* 6 6 ? file
6 4 ? dir1/file2
6 4 ? dir1
6 5 ? dir2/file
6 5 ? dir2
6 6 root .
版本的 7 状态
[root@YUM svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
[root@YUM svn_project1]# echo `date` >> file
[root@YUM svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
2020年 03月 16日 星期一 03:19:31 CST
[root@YUM svn_project1]# svn status -vu
M * 6 6 ? file
6 4 ? dir1/file2
6 4 ? dir1
6 5 ? dir2/file
6 5 ? dir2
6 6 root .
版本的 7 状态
[root@YUM svn_project1]# svn commit -m "conflict 2"
正在发送 file
svn: 提交失败(细节如下):
svn: 文件 “/svn_project1/file” 已经过时
[root@YUM svn_project1]# svn update
在 “file” 中发现冲突。
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:
--------------------------------------选择了df
--- .svn/text-base/file.svn-base 一 3月 16 02:57:53 2020
+++ .svn/tmp/file.tmp 一 3月 16 03:21:14 2020
@@ -1,3 +1,8 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
+<<<<<<< .mine
+2020年 03月 16日 星期一 03:19:31 CST
+=======
+2020年 03月 16日 星期一 03:17:33 CST
+>>>>>>> .r7
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,(r) 已解决,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:
--------------------------------------选择了e
会进入vim,让你编辑,文件名为file.tmp
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
<<<<<<< .mine
2020年 03月 16日 星期一 03:19:31 CST
=======
2020年 03月 16日 星期一 03:17:33 CST
>>>>>>> .r7
然后你可以编辑,编辑好的内容如下
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
2020年 03月 16日 星期一 03:19:31 CST
然后用:wq退出vim,然后又进入
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,(r) 已解决,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:
--------------------------------------选择了r
然后显示
G file
更新到版本 7。
----------------------------------------------------------------注意,此时还没完
[root@YUM svn_project1]# svn status .
M file
[root@YUM svn_project1]# svn diff file
Index: file
===================================================================
--- file (版本 7)
+++ file (工作副本)
@@ -1,4 +1,4 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
-2020年 03月 16日 星期一 03:17:33 CST
+2020年 03月 16日 星期一 03:19:31 CST
[root@YUM svn_project1]# svn commit -m "conflict 2"
正在发送 file
传输文件数据.
提交后的版本为 8。
[root@YUM svn_project1]# svn update
版本 8。
树冲突
- /root/learn_svn/svn_protocol/svn_project1
[root@YUM svn_project1]# svn mv file file2
A file2
D file
[root@YUM svn_project1]# svn commit -m "remove dir to dir2"
删除 file
增加 file2
提交后的版本为 15。
[root@YUM svn_project1]# svn update
版本 15。
[root@YUM svn_project1]# cat file2
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
2020年 03月 16日 星期一 03:19:31 CST
2020年 03月 16日 星期一 03:34:50 CST
2020年 03月 16日 星期一 03:43:48 CST
2020年 03月 16日 星期一 03:44:59 CST
2020年 03月 16日 星期一 03:47:01 CST
2020年 03月 16日 星期一 03:48:44 CST
- /root/learn_svn/file_protocol/svn_project1
[root@YUM svn_project1]# echo `date` >> file
[root@YUM svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
2020年 03月 16日 星期一 03:19:31 CST
2020年 03月 16日 星期一 03:34:50 CST
2020年 03月 16日 星期一 03:43:48 CST
2020年 03月 16日 星期一 03:44:59 CST
2020年 03月 16日 星期一 03:47:01 CST
2020年 03月 16日 星期一 03:48:44 CST
2020年 03月 16日 星期一 05:37:30 CST
[root@YUM svn_project1]# svn commit -m "add date in file"
正在发送 file
svn: 提交失败(细节如下):
svn: 文件 “file” 已经过时
svn: 没有找到文件: 事务“15-j”,路径 “/svn_project1/file”
[root@YUM svn_project1]# svn update
C file
A file2
更新到版本 15。
冲突概要:
树冲突:1
[root@YUM svn_project1]# svn status
A + C file
> 本地 编辑,动作 删除,操作 更新
M file2
[root@YUM svn_project1]# svn diff
Index: file
===================================================================
--- file (版本 14)
+++ file (工作副本)
@@ -7,3 +7,4 @@
2020年 03月 16日 星期一 03:44:59 CST
2020年 03月 16日 星期一 03:47:01 CST
2020年 03月 16日 星期一 03:48:44 CST
+2020年 03月 16日 星期一 05:37:30 CST
Index: file2
===================================================================
--- file2 (版本 15)
+++ file2 (工作副本)
@@ -7,3 +7,4 @@
2020年 03月 16日 星期一 03:44:59 CST
2020年 03月 16日 星期一 03:47:01 CST
2020年 03月 16日 星期一 03:48:44 CST
+2020年 03月 16日 星期一 05:37:30 CST
[root@YUM svn_project1]# svn delete --force file
D file
[root@YUM svn_project1]# svn status
! C file
> 本地 编辑,动作 删除,操作 更新
M file2
[root@YUM svn_project1]# svn resolve --accept=working file
[root@YUM svn_project1]# svn status
M file2
[root@YUM svn_project1]# svn commit -m "add date in file2"
正在发送 file2
传输文件数据.
提交后的版本为 16。
[root@YUM svn_project1]# svn update
版本 16。