解決版本衝突的命令。在衝突解決之後,需要使用svn resolved來告訴subversion衝突解決,這樣才能提交更新。衝突發生時,subversion會在Work Copy中儲存所有的目標檔案版本(上次更新版本、當前獲取的版本,即別人提交的版本、自己更新的版本、目標檔案。假設檔名是sandwich.txt,對應的檔名分別是:sandwich.txt.r1、sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同時在目標檔案中標記來自不同使用者的更改。 解決衝突的辦法: - 手動解決:衝突發生時,透過和其他使用者溝通之後,手動更新目標檔案。然後執行svn resolved filename來解除衝突,最後提交。 - 放棄自己的更新,使用別人的更新。使用最新獲取的版本覆蓋目標檔案,執行svn resolved filename並提交。 - 放棄自己的更新,使用svn revert,然後提交。在這種方式下不需要使用svn resolved。 對於svn resolved命令需要非常小心,必須是非常確定衝突已經解決才能使用。否則,會導致Subversion以為衝突解決,而使程式碼庫不正確。 解決衝突詳細文件: http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve 解決衝突(合併別人的修改) 我們可以使用svn status -u來預測衝突,當你執行svn update一些有趣的事情發生了: $ svn update U INSTALL G README C bar.c Updated to revision 46. U和G沒必要關心,檔案乾淨的接受了版本庫的變化,檔案標示為U表明本地沒有修改,檔案已經根據版本庫更新。G標示合併,標示本地已經修改過,與版本庫沒有重迭的地方,已經合併。 但是C表示衝突,說明伺服器上的改動同你的改動衝突了,你需要自己手工去解決。 當衝突發生了,有三件事可以幫助你注意到這種情況和解決問題: ● Subversion列印C標記,並且標記這個檔案已衝突。 ● 如果Subversion認為這個檔案是可合併的,它會置入衝突標記—特殊的橫線分開衝突的“兩面”—在檔案裡視覺化的描述重疊的部分(Subversion使用svn:mime-type屬性來決定一個檔案是否可以使用上下文的,以行為基礎合併,更多資訊可以看“svn:mime-type”一節)。 ● 對於每一個衝突的檔案,Subversion放置三個額外的未版本化檔案到你的工作複製: ● filename.mine ● 你更新前的檔案,沒有衝突標誌,只是你最新更改的內容。(如果Subversion認為這個檔案不可以合併,.mine檔案不會建立,因為它和工作檔案相同。) ● filename.rOLDREV
解決版本衝突的命令。在衝突解決之後,需要使用svn resolved來告訴subversion衝突解決,這樣才能提交更新。衝突發生時,subversion會在Work Copy中儲存所有的目標檔案版本(上次更新版本、當前獲取的版本,即別人提交的版本、自己更新的版本、目標檔案。假設檔名是sandwich.txt,對應的檔名分別是:sandwich.txt.r1、sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同時在目標檔案中標記來自不同使用者的更改。 解決衝突的辦法: - 手動解決:衝突發生時,透過和其他使用者溝通之後,手動更新目標檔案。然後執行svn resolved filename來解除衝突,最後提交。 - 放棄自己的更新,使用別人的更新。使用最新獲取的版本覆蓋目標檔案,執行svn resolved filename並提交。 - 放棄自己的更新,使用svn revert,然後提交。在這種方式下不需要使用svn resolved。 對於svn resolved命令需要非常小心,必須是非常確定衝突已經解決才能使用。否則,會導致Subversion以為衝突解決,而使程式碼庫不正確。 解決衝突詳細文件: http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve 解決衝突(合併別人的修改) 我們可以使用svn status -u來預測衝突,當你執行svn update一些有趣的事情發生了: $ svn update U INSTALL G README C bar.c Updated to revision 46. U和G沒必要關心,檔案乾淨的接受了版本庫的變化,檔案標示為U表明本地沒有修改,檔案已經根據版本庫更新。G標示合併,標示本地已經修改過,與版本庫沒有重迭的地方,已經合併。 但是C表示衝突,說明伺服器上的改動同你的改動衝突了,你需要自己手工去解決。 當衝突發生了,有三件事可以幫助你注意到這種情況和解決問題: ● Subversion列印C標記,並且標記這個檔案已衝突。 ● 如果Subversion認為這個檔案是可合併的,它會置入衝突標記—特殊的橫線分開衝突的“兩面”—在檔案裡視覺化的描述重疊的部分(Subversion使用svn:mime-type屬性來決定一個檔案是否可以使用上下文的,以行為基礎合併,更多資訊可以看“svn:mime-type”一節)。 ● 對於每一個衝突的檔案,Subversion放置三個額外的未版本化檔案到你的工作複製: ● filename.mine ● 你更新前的檔案,沒有衝突標誌,只是你最新更改的內容。(如果Subversion認為這個檔案不可以合併,.mine檔案不會建立,因為它和工作檔案相同。) ● filename.rOLDREV