2011-12-08 60 views
2

我試圖做一些看起來很簡單,但有問題的東西。SVN將中繼合併到分支刪除文件中

基本上,我有一個svn回購,它具有軀幹和將其從修訂122

我添加的文件中(src/utils的/ foo.py)到分支創建一個分支,致力於它作爲修訂版128,一切都很好。 。

然而,已經有多次提交(即(123,124,125,126,127)的軀幹,我想在我的分支所以我做這樣的事情:

$ svn merge -r122:127 ^/projects/my_project/trunk/src/utils . 
--- Merging r123 through r127 into '.': 
D foo.py 

哎呦它刪除了我的文件是什麼!我做錯了,所以這不會發生?

+0

有人刪除了trunk中的foo.py嗎? – crashmstr

回答

1

它可能有更多的文件夾擁有該文件,比文件本身。我相信大多數SCM工具處理文件夾像文件,他們得到版本爲你可能需要升級一級以確保「utils」文件夾也被合併。

編輯:

只是爲了解釋一點,它是文件夾「utils的」,記錄該文件「foo.py」是它的一個孩子,所以即使在後備箱存在foo.py,而不合並它可能無法顯示的更新的utils文件夾。

1

首先你在正確的目錄中執行svn merge命令嗎?其次,永遠不要只合並SVN中的子文件夾。只需使用

svn merge ... ^/projects/my_project/trunk 

進入您的工作副本的根目錄。特別是與合併歷史記錄(svn:mergeinfo)關係更好。

0

啊!有人確實已將分支合併到中繼線中,後者將該文件添加到中繼線,但後來又回滾該中繼線,從中繼線中刪除該文件。謝謝您的幫助。 svn合併工作的好教訓。

相關問題