新聞中心
本節(jié)簡(jiǎn)單介紹一下SVN文件沖突和SVN樹沖突在本地的解決方法,在這里和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西,讓我們一起來學(xué)習(xí)SVN文件沖突和SVN樹沖突的解決方法吧。

1.本地刪除,當(dāng)更新時(shí)有刪除進(jìn)入開發(fā)人員A將文件Foo.c改名為Bar.c并將其提交至版本庫中。
開發(fā)人員B將文件Foo.c改名為Bix.c
更新開發(fā)人員B的工作副本會(huì)導(dǎo)致樹沖突:
Bix.c被標(biāo)記為添加(包括其歷史記錄)。
Bar.c被添加到工作副本中,其狀態(tài)為‘正常’。
Foo.c被標(biāo)記為刪除并且產(chǎn)生一個(gè)SVN樹沖突。
要解決這個(gè)沖突,開發(fā)人員B必須找出沖突的文件Foo.c經(jīng)過改名/移動(dòng)后在版本庫中的新文件名是什么??梢允褂萌罩緦?duì)話框來完成這個(gè)任務(wù)。
然后,開發(fā)人員B需要決定Foo.c的新文件名中的哪一個(gè)需要保留-開發(fā)人員A改的那個(gè)還是他自己改的那個(gè)。
在開發(fā)人員B手工解決沖突后,使用沖突編輯對(duì)話框中的按鈕將樹沖突標(biāo)記為已解決。
本地缺少,當(dāng)合并時(shí)有更改進(jìn)入開發(fā)人員A在主干上工作,修改Foo.c并將其提交至版本庫中
開發(fā)人員B在分支上工作,將Foo.c改名為Bar.c并將其提交至版本庫中
合并開發(fā)人員A的主干更改到開發(fā)人員B的分支工作副本會(huì)導(dǎo)致SVN樹沖突:
Bar.c已經(jīng)存在于工作副本中,其狀態(tài)為‘正常’。
Foo.c被標(biāo)記為缺少并產(chǎn)生SVN樹沖突。
要解決這個(gè)沖突,開發(fā)人員B要在沖突編輯對(duì)話框中標(biāo)記文件為已解決,這樣就會(huì)將其從沖突列表中刪除。她接下來需要決定是否將缺少的文件Foo.c從版本庫中復(fù)制到工作副本中,是否將開發(fā)人員A的對(duì)Foo.c的更改和合并到改名后的Bar.c或者是否通過標(biāo)記沖突為已解決來忽略更改什么事也不做。
注意,如果你將缺少的文件從版本庫中復(fù)制到工作副本中然后再標(biāo)記為已解決,你復(fù)制下來的文件將被再次刪除。你必須先解決沖突。
2.本地更改,當(dāng)合并時(shí)有刪除進(jìn)入開發(fā)人員A在主干上工作,將Foo.c改名為Bar.c并將其提交至版本庫中
開發(fā)人員B在分支上工作,修改Foo.c并將其提交至版本庫中
當(dāng)文件夾改名時(shí)有類似的案例,但是在Subversion1.6中還未被識(shí)別...
開發(fā)人員A在主干上工作,將父文件夾FooFolder改名為BarFolder并將其提交至版本庫中。
開發(fā)人員B在分支上工作,在她的工作副本中修改Foo.c。
合并開發(fā)人員A的主干更改到開發(fā)人員B的分支工作副本會(huì)導(dǎo)致SVN樹沖突:
Bar.c被標(biāo)記為添加。
Foo.c被標(biāo)記為修改并產(chǎn)生SVN樹沖突。
開發(fā)人員B現(xiàn)在需要做出決定是否接受開發(fā)人員A作出的結(jié)構(gòu)改變并且合并她的更改到新結(jié)構(gòu)下適當(dāng)?shù)奈募?,或者直接放棄開發(fā)人員A的更改并保留本地文件。
要合并她的本機(jī)更改到新布局中,開發(fā)人員B必須先找出沖突的文件Foo.c經(jīng)過改名/移動(dòng)后在版本庫中的新文件名是什么。可以通過適用于合并源碼的日志對(duì)話框來完成這個(gè)任務(wù)。沖突編輯器僅顯示工作副本的日志因?yàn)樗恢缹⒛膫€(gè)路徑的更改合并進(jìn)來,所以你需要自己找到它。更改必須要手工合并,因?yàn)闆]有辦法自動(dòng)的或者簡(jiǎn)單的完成此操作。一旦更改移植完畢,沖突的路徑就是多余的并且可以刪除。在此案例中,使用沖突編輯對(duì)話框中的刪除按鈕進(jìn)行清理并將沖突標(biāo)記為已解決。
如果開發(fā)人員B認(rèn)為A的更改是錯(cuò)誤的,那么在沖突編輯對(duì)話框中她必須選擇保留按鈕。這樣就會(huì)標(biāo)記沖突的文件/文件夾為已解決,但是需要手工刪除開發(fā)人員A的更改。又是通過日志對(duì)話框幫助追蹤哪些文件移動(dòng)了。
本地刪除,當(dāng)合并時(shí)有刪除進(jìn)入開發(fā)人員A在主干上工作,將Foo.c改名為Bar.c并將其提交至版本庫中
開發(fā)人員B工作在分之上,將Foo.c改名為Bix.c并將其提交至版本庫中
3.合并開發(fā)人員A的主干更改到開發(fā)人員B的分支工作副本會(huì)導(dǎo)致SVN樹沖突:
Bix.c被標(biāo)記為正常(未修改)狀態(tài)。
Bar.c被標(biāo)記為添加(包括其歷史記錄)。
Foo.c被標(biāo)記為缺少并且產(chǎn)生樹沖突。
要解決這個(gè)沖突,開發(fā)人員B必須先找出沖突的文件Foo.c經(jīng)過改名/移動(dòng)后在版本庫中的新文件名是什么??梢酝ㄟ^適用于合并源碼的日志對(duì)話框來完成這個(gè)任務(wù)。沖突編輯器僅顯示工作副本的日志因?yàn)樗恢缹⒛膫€(gè)路徑的更改合并進(jìn)來,所以你需要自己找到它。
然后,開發(fā)人員B需要決定Foo.c的新文件名中的哪一個(gè)需要保留-開發(fā)人員A改的那個(gè)還是他自己改的那個(gè)。
在開發(fā)人員B手工解決沖突后,使用沖突編輯對(duì)話框中的按鈕將樹沖突標(biāo)記為已解決。本節(jié)關(guān)于SVN文件沖突和SVN樹沖突內(nèi)容講解完畢,請(qǐng)關(guān)注本節(jié)其他相關(guān)報(bào)道。
本文題目:SVN樹沖突和文件沖突解決方法簡(jiǎn)明介紹
URL鏈接:http://fisionsoft.com.cn/article/cciogjg.html


咨詢
建站咨詢
