之前都是在windows上操作SVN來着,轉移到linux上之后出現沖突,后查了解決辦法:
ZZ from:http://www.aixchina.net/club/thread-25902-1-1.html
這里,先說說沖突解決。
怎么會發生沖突呢?
兩個人修改了不同文件?不會有沖突,他們不相關。
兩個人同時修改了同一個文件的不同位置?不會有沖突,SVN很聰明。
兩個人同時修改了同一個文件的相同位置?Bing!沖突來了。
工程師A修改了a.txt的第一行,提交了。
工程師B也修改了a.txt的第一行,然后執行svn up,這時SVN提示了:(以下,你開始扮演工程師B的角色了)
$ svn up
在 “a.txt” 中發現沖突。
選擇: (p) 推遲,(df) 顯示全部差異,(e) 編輯,
(mc) 我的版本, (tc) 他人的版本,
(s) 顯示全部選項:
我一般選擇p(推遲),即引入沖突到本地,不過不會影響到SVN服務器端,可以放心。
OK,開始解決沖突了。
這時,會生成幾個文件:
a.txt
a.txt.mine a.txt.r6328 a.txt.r6336
其中a.txt中包含了工程師A、B的所有修改,以<<<<<<<、=======、>>>>>>>分隔。
a.txt.mine是工程師B的修改,也就是未update前的a.txt。
a.txt.r6328 是工程師A提交前的版本,即未導致沖突的版本。
a.txt.r6336是工程師A提交后的版本,即導致沖突的版本。
一般,查看a.txt就可以看到沖突的詳情了:
[yicheng@chengyi svntest]$ cat a.txt
<<<<<<< .mine
i also modify ,agndagnagasdg;
=======
i modify this line;
>>>>>>> .r6336
以上,<<<<<<< .mine和=======之間是工程師B(當前的“你”)修改的內容,=======與>>>>>>> .r6336之間是工程師A修改的內容。這時,最好的辦法是,叫上工程師A,你們一起確定這些修改是否都需要,是否相互兼容,然后留下需要的部分,刪 除<<<<<<< .mine、=======和>>>>>>> .r6336。
然后,測試,測試!確定沒問題之后,就可以告訴SVN,你解決沖突了:
svn resolve –accept working a.txt (該 命令會刪除a.txt.mine a.txt.r6328 a.txt.r6336)
svn ci -m ’some comment’ a.txt
這里需要注意的是,a.txt.mine a.txt.r6328 a.txt.r6336這幾個文件的存在代表着有沖突產生。如果不解決沖突,就手 工刪除它們,SVN服務器也會很傻的認為你解決了沖突,允許你繼續之后 的工作。但是,沖突依舊存在,你的a.txt中不但有別人的修改,還有那些討厭的<=>符號。
在沖突未解決前,試圖提交代碼是肯定會失敗的:
$ svn ci -m ”
svn: 提交失敗(細節如下):
svn: 提交終止: “/path/to/svntest/a.txt” 處於沖突狀態
其中a.txt中包含了工程師A、B的所有修改,以<<<<<<<、=======、>>>>>>>分隔。
a.txt.mine是工程師B的修改,也就是未update前的a.txt。
a.txt.r6328 是工程師A提交前的版本,即未導致沖突的版本。
a.txt.r6336是工程師A提交后的版本,即導致沖突的版本。
一般,查看a.txt就可以看到沖突的詳情了:
[yicheng@chengyi svntest]$ cat a.txt
<<<<<<< .mine
i also modify ,agndagnagasdg;
=======
i modify this line;
>>>>>>> .r6336
以上,<<<<<<< .mine和=======之間是工程師B(當前的“你”)修改的內容,=======與>>>>>>> .r6336之間是工程師A修改的內容。這時,最好的辦法是,叫上工程師A,你們一起確定這些修改是否都需要,是否相互兼容,然后留下需要的部分,刪 除<<<<<<< .mine、=======和>>>>>>> .r6336。
然后,測試,測試!確定沒問題之后,就可以告訴SVN,你解決沖突了:
svn resolve –accept working a.txt (該 命令會刪除a.txt.mine a.txt.r6328 a.txt.r6336)
svn ci -m ’some comment’ a.txt
這里需要注意的是,a.txt.mine a.txt.r6328 a.txt.r6336這幾個文件的存在代表着有沖突產生。如果不解決沖突,就手 工刪除它們,SVN服務器也會很傻的認為你解決了沖突,允許你繼續之后 的工作。但是,沖突依舊存在,你的a.txt中不但有別人的修改,還有那些討厭的<=>符號。
在沖突未解決前,試圖提交代碼是肯定會失敗的:
$ svn ci -m ”
svn: 提交失敗(細節如下):
svn: 提交終止: “/path/to/svntest/a.txt” 處於沖突狀態
轉自:http://blog.sina.com.cn/s/blog_75991d43010157bz.html