2011-01-13 60 views
6

我有一個存儲庫在各地檢出。我有一個文件夾X,它是另一個存儲庫的外部文件夾。我希望X是本地的。還有其他問題,但他們似乎沒有遇到我的困難。svn:乾淨的方式來替換外部與本地同名文件夾

我所做的是我編輯了svn:externals並刪除了那一行。然後我承諾回購。然後我拿了文件夾,刪除了其中的所有.svn條目(使其成爲常規文件夾),然後svn add編輯它,然後提交。這工作得很好。

但是,當我更新另一個回購結賬時,我遇到了問題。第一個錯誤是這樣的:

UUID mismatch: existing directory XXX was checked out from a different repository. 

好了,已經svn up失敗了,但我嘗試刪除該文件夾並重新更新。現在它管理重新得到所有的內容,但現在我得到一個新的錯誤:

Can't remove file XXX: Access is denied 

我嘗試再次更新,並沒有任何反應。我刪除該文件夾中的一個文件並從根重新更新,沒有任何反應。我刪除了文件夾X,沒有任何反應 - 所以它似乎已經忘記了它!我唯一的辦法是刪除X的根目錄,並從級別降低(因爲所有這些也發生在也是外部的子文件夾中)svn up

不好..我不想在這個存儲庫檢出的所有站點上做一些手動的rigamarole。該怎麼辦?

回答

0

不知道它是否會工作,但值得嘗試。

嘗試更新到您刪除外部設備的修訂版,然後進行更新。

// XX revision of the externals deletion 
svn update -rXX 
// to see if the folder is deleted 
svn status 
// delete the folder if he is on the local working copy 
svn rm folder 
// Update to head 
svn update 
3

也許不是最乾淨的解決方案,但它的工作原理:

  • 在您卸下外接文件夾本地副本(不要使用SVN RM文件夾)
  • 更新從倉庫
  • 版本