2012-03-19 71 views
0

我從Ubuntu的存儲庫安裝了新的svn副本。版本是1.6.12。檢查差異更新

現在,例如,假設有兩個用戶:User1和User2。

Day1。

  1. 任何用戶導入新項目。項目由1個文件組成:main.cpp。
  2. 兩個用戶都進行結賬,現在他們都有工作副本。

Day2。

  1. User1開始工作,刪除main.cpp中的所有內容,提交併回家。

  2. User2在User1離開更新後開始工作,他從存儲庫中獲得空的main.cpp,沒有任何衝突提示。

所以問題是否有可能調整svn,以便在上述情況時提示衝突更新情況?

回答

2

實際上並沒有衝突,除非用戶2在更新之前也做了更改。

svn update僅表示使用存儲庫中的最新修訂更新了工作副本。所以預計(和預期)的行爲是將空文件(這是該文件的最新版本)提取到工作副本中。

+0

更乾淨:」 ......從回購的變化(所有和任何)分發給工作副本「 – 2012-03-19 13:12:45

+0

好的。我知道了。謝謝。但是,在更新之前,user2應該如何解決衝突?不僅在文件爲空時。但總的來說,他的版本和服務器版本有幾處不同之處? – Alexander 2012-03-19 14:49:51

+0

嗨亞歷山大,當'svn update'發現衝突(即* User2 *發生了變化,* User1 *之前提交了一個更改的文件)時,它會通知用戶(狀態標誌「C」)。此外,它將幾個文件填充到* User2s *工作副本:來自存儲庫的當前版本,* User2s *編輯文件的基本版本,* User2 *的更改文件以及包含帶衝突標記的部分的合併文件以及自動解析的部分。 * User2 *然後可以對這些(至少)四個文件進行「比較」,合併它們(即解決衝突)並提交合並的文件。 – bmk 2012-03-20 09:49:14

2

上述情況?

有沒有衝突,因爲用戶2沒有任何地方的變化,這可以產生衝突,需要手動合併