6

我有一个在不同地方签出的存储库。我有一个文件夹 X 是另一个存储库的外部。我希望 X 是本地的。还有其他问题,但他们似乎没有遇到我的困难。

我所做的是我编辑了 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。该怎么办?

4

2 回答 2

3

也许不是最干净的解决方案,但它有效:

  • 删除本地副本中的外部文件夹(不要使用 svn rm 文件夹)
  • 使用存储库中的版本进行更新
于 2012-01-30T16:35:19.047 回答
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
于 2011-01-13T17:40:43.493 回答