我試圖將本地文件夾從分支切換到中繼。我收到以下錯誤。svn錯誤:已存在相同名稱的版本化目錄
Failed to add directory 'Drive:\Path\To\The\Directory'
a versioned directory of the same name already exists
這是什麼決議?
我試圖將本地文件夾從分支切換到中繼。我收到以下錯誤。svn錯誤:已存在相同名稱的版本化目錄
Failed to add directory 'Drive:\Path\To\The\Directory'
a versioned directory of the same name already exists
這是什麼決議?
如果您在分支上創建了一個目錄(即使我認爲如果您沒有簽入它),您經常會看到此情況,但同時有人也在其上創建了一個同名目錄樹幹。所以當你從分支切換到中繼時,它正在嘗試檢查目錄的中繼版本,但它不能,因爲它已經存在,所以它不想垃圾你的版本。
編輯:
來解決它的最好方法是重命名該目錄中的工作副本然後更新。更新後,您可以決定是否需要將內容複製到新創建的目錄中。
EDIT2:
沒有的SVN自動解決這個的好方法。這聽起來像你已經在你的工作副本中創建了這個文件夾(當前在分支上籤出),而其他人已經在中繼上創建了這個文件夾。當你切換它試圖創建新的目錄時,但它不能,因爲你已經有了。我認爲,只有處理這種方式是暫時重命名目錄,然後切換,然後比較兩個目錄的內容,看看是否有額外的文件,你需要添加或合併。
我懷疑\ Path \ To \ The目錄不存在於分支中,但確實存在於主幹中。新添加到樹幹可能?當你切換時,SVN認爲它應該將它添加到你的本地目錄中,因爲它不是(應該是)在你要切換的分支上。但無論如何它都在那裏。這可能是由於沒有正確結帳的情況下的事先切換造成的。即你之前做過這個開關,然後當你從樹幹切換回樹枝時,你沒有清理殘餘物。所以現在剩下的目錄是存在的,它不會期望看到它。
也許Path/To/The/Directory
在您當前的分支中不存在,但它確實存在於trunk中?
可能是問題的另一件事是當SVN服務器運行區分大小寫的操作系統(例如* nix),並且您正在使用Windows時。在這種情況下,SVN服務器會考慮:
Path/To/The/Directory
Path/To/The/directory
作爲兩個不同的目錄。這通常發生在有人對目錄名進行大小寫更改時發生。
一個簡單的解決方案是使用svn switch
和--force
標誌。
例如,當我切換回主幹時,我看到切換到分支後出現錯誤。這解決了我的問題:
svn switch --force ^/trunk
要解決這個錯誤,同時保留目錄中,我發現了以下技術工作:
請注意,在一個系統中至少有一次,這個技巧導致所有子目錄/文件顯示?。從子目錄中刪除一個.svn文件夾並再次清理/更新父目錄。
不知道這是什麼巫毒,但我承諾變化和後來更新各種系統,他們都似乎很高興。
FYI我到這個狀態由於不尋常的情況:
/foo和一個svn:外部/ newfoo /條,且這種結構需要撤消這麼/ newfoo /條被移動,並更名爲/ foo中。
此答案未能給出正確的解決方案。你知道如何解決這個問題嗎? (我目前遇到這個問題,而我最好的解決方法是做一個乾淨的結賬,這非常耗時) – 2012-05-30 12:27:30
查看更新的答案 – 2012-05-30 13:54:39
我有一種情況,重命名不是一個好的選擇。有沒有辦法修復它? – 2013-08-14 22:59:02