SVN 多用户同时修改一个文件冲突过程分析及解决方法(非用锁方法)
在 2 个用户同时修改一个文件,
Linda update 下来,
Stephen update 下来。
Linda 修改, commit
stephen 改了之后 commit ,于是有版本冲突,
SVN 提示:有冲突,你先 update 吧。于是 stephen 就 update 下来,这时有两种情况:
1 )双方修改的内容不互相冲突,例如一个是文件头,另一个是文件尾。这时候 SVN 会自动合并文件。图标是 ? 号。 Stephen 查看一下文件,感叹到: Mmmm ,看来 SVN 挺聪明的,这两处并不冲突,于是他 commit 。
社会和谐了。
2 )双方修改的内容有冲突,比如同时修改一行。这时候 update 下来的可能有这些文件 ( 修定冲突文件叫 file.c) :
file.c
file.c.mine
file.c.r7 // 这和版本有关,每次扩展名不一样
file.c.r6 // 这和版本有关,每次扩展名不一样
这是 stephen 要做的是打开 file.c 发现有这样类似的
<<<<<<<
Void func1(); //Linda 修改这行了
=======
Void func1();//Stephen 也修改这行了 !
>>>>>>>>
这时候需要手动修改它,修改好了之后 resolve, 再 commit 。
宇宙和谐了!