2011-01-13 84 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文件夹)
  • 更新从仓库
  • 版本