2011-05-11 44 views
1

我有一個具有trunk和分支的Subversion版本庫。現在,當我嘗試將樹幹合併到我的分支中時(無論是否使用TortoiseSVN或命令行svn),目錄和包含的文件都被標記爲刪除。但是在合併日誌中沒有對該文件的傳入刪除。在Subversion中合併的奇怪刪除

如果我現在運行svn status,它顯示我像

D + path/to/directory 
D + path/to/directory/file 

編輯:作爲阿爾瓦羅G.維卡里奧指出的那樣,+表示「歷史預定要提交」 - 你會在意思我的情況?

現在我很害怕,說(因爲我只是偶然發現了這個)我可能已經在過去類似的合併有數據丟失,沒有注意到。任何人都可以給我一個關於這裏可能發生的事情的暗示嗎?

+0

重命名的概念根本不存在的顛覆。你必須複製文件並刪除原文(儘管有一個'svn rename'子命令可以幫你完成這兩件事)。 – 2011-05-11 14:29:38

+0

是的,我知道這一點。但'svn info'通常不會指出那些通過相應的delete和add旁邊的'+'檢測到實際重命名操作的情況? – David 2011-05-11 14:31:44

+0

不,'+'的意思是[歷史記錄已提交](http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.status.html) – 2011-05-11 14:33:50

回答

1

如果不確定的話,我建議你重新開始,然後從TortoiseSVN做的一切。假設你沒有犯合併的是,找到你的分支工作副本和:

  1. 右鍵點擊你的工作副本根和還原
  2. 右鍵點擊你的工作副本根和檢查修改。如果有的話刪除未版本控制的項目。
  3. 右鍵單擊...和合併。選擇「合併一系列修訂」和下一步。選擇「從URL合併」的主幹。點擊顯示日誌並突出顯示您要合併的所有修訂。底部面板將顯示更改的項目。當開心時,請點擊確定並繼續合併。
  4. 右鍵單擊...並檢查修改檢查什麼將被提交。請特別注意「從URL複製」列。 (右鍵單擊列標題顯示/隱藏列。)
+0

謝謝你的回答。我還沒有合併,我已經檢查了我的分支的一個全新的工作副本。我還沒有嘗試的是明確選擇合併修訂。我也沒有嘗試「從URL複製」列。我會嘗試一下。不過,除了「不乾淨的工作副本」之外,我還會有其他想法嗎? – David 2011-05-11 16:26:37