184

我手动删除了我刚刚在我的存储库中离线添加的目录。我无法恢复目录。

任何进行更新或提交的尝试都将失败,并显示:

"blabla/.svn" containing working copy admin area is missing.

我明白为什么,但无论如何要解决这个问题。

我不想检查整个 repo 并手动添加我的更改,这需要几个小时。

4

21 回答 21

148

据此:http ://www.devcha.com/2008/03/svn-directory-svn- contains-working.html

将文件夹“blabla”签出到其他位置,然后将其 .svn 文件夹复制回原来的“blabla”。

于 2009-09-08T13:46:29.333 回答
123

fwiw,我有类似的情况并使用svn --force delete __dir__。这为我解决了这个问题。然后我继续照常使用我的工作副本。

于 2009-12-01T10:44:03.130 回答
73

我解决此问题的方法是删除有问题的文件夹的本地副本,然后svn update直接执行父级。

把它修好了。

于 2010-06-12T04:25:18.473 回答
35

您可以尝试签出父目录的新副本吗?

编辑:更具体地说,我的意思是建议上一层并删除包含目录。然后做一个

svn update --set-depth infinity

替换目录。

于 2009-09-08T13:41:45.860 回答
6

我在 svn 中添加了一个目录,然后我不小心删除了其中的 .svn 文件夹。

我用了

svn delete --keep-local folderName

解决我的问题。

于 2013-01-16T16:52:07.847 回答
4

我刚刚做了'svn revert /blabla'并且它起作用了,文件夹又回来了,我可以svn删除它

于 2010-09-28T16:32:17.403 回答
3

当我尝试将目录添加到存储库时,出现错误“缺少包含工作副本管理区域的目录 'blah/.svn'”,但没有足够的文件系统权限来执行此操作。该目录尚未在存储库中,但在添加失败后它声称处于版本控制之下。

将父目录的副本检出到另一个位置,并替换工作副本的父目录中的 .svn 文件夹允许我成功添加和提交新目录(当然是在修复文件权限之后)。

于 2010-02-11T02:12:49.247 回答
2

我们使用 maven 和 svn。导致此错误的原因是错误地将目标目录签入到 SVN。如果此提示对任何人有帮助,请删除该修复的所有内容。

于 2010-09-06T00:29:51.593 回答
2

我试图svn rm --force /path/to/dir无济于事,但最终只是运行svn up,它为我修复了它。

于 2012-01-05T22:19:18.327 回答
1

我最近遇到了这个错误,当文件被我的 SVN 全局设置排除时。该错误特别令人讨厌,因为我还直接从存储库中删除了文件 - 这意味着上述解决方案拒绝不起作用。在这种情况下,从我从 SVN 中删除的目录中手动删除 .svn 目录允许我运行更新,然后允许我提交。

于 2009-12-18T01:29:55.897 回答
1

当我尝试切换“C:\superfolder”时,我遇到了同样的问题

错误信息:

Directory 'C:\superfolder\subfolder\.svn'
containing
working copy admin area is missing
Please execute the 'Cleanup' command.

尝试进行“清理”后,出现以下错误:

 Cleanup failed to process the following paths:
 C:\superfolder\
'C:\superfolder\subfolder\' is not a working copy directory

解决方案:

  1. 删除文件夹“子文件夹”
  2. 清理文件夹“superfolder”
  3. 尝试再次切换文件夹“superfolder”

这对我有用。请让我知道它是否也适合您。

于 2010-07-19T12:59:31.687 回答
1

我最近有这个错误。这是由于 root 拥有目录中的几个文件导致此错误。

在我更改权限后,一切都按预期工作。

于 2011-01-19T13:44:28.740 回答
1

看你的帖子不是很懂。我的解决方案是

  1. 剪切有问题的文件夹并复制到某个位置。
  2. 从 Subversion 获取解决方案到另一个工作目录(只是新的)。
  3. 将您保存的文件夹添加到新的工作副本并将其添加为现有项目(如果它是我的项目)。
  4. 犯罪;
于 2011-03-12T00:49:47.893 回答
1

我有这个问题。只是暂时将 blabla 移动到另一个位置,告诉 svn 将其还原,然后将其移回。它被视为新增内容。简单的!

于 2013-01-31T21:20:55.783 回答
1

对我有帮助的最简单的:

rm -rf _dir_in_question_
svn up

如果您对有问题的目录进行了更改,那么这对您来说不是一个好的解决方案。

于 2013-07-03T11:49:56.423 回答
1

我在用较新版本替换第三方 API 库时遇到了这个问题,这里没有一个解决方案真的对我有用,因为我想用本地版本替换 SVN 版本。我的解决方案如下:

1)将有问题的文件夹移动到我的主目录,将其从 SVN 中删除并提交:

mv foldercausingproblem ~/
svn --force delete foldercausingproblem
svn commit --message "Temporary removing folder with old API"

2)放回文件夹,将其添加到SVN并再次提交:

mv ~/foldercausingproblem ./
svn --force add .
svn commit --message "Finally all working!"

不得不提交两次有点烦人,但它似乎运作良好。

于 2013-07-29T14:25:48.013 回答
0

以防万一有人想要另一种解决方案:

  1. 将新文件夹签入为“foldername2”
  2. 进入 Tortise SVN repo 浏览器
  3. 将“文件夹名2”重命名为“文件夹名”
  4. 在 Windows 资源管理器中进行更新

希望它可以帮助某人。

-EV

于 2011-03-06T23:17:46.723 回答
0

首先,将项目签出到系统中的文件夹中。然后从冲突项目中删除 .svn 文件夹并从新结帐文件夹中复制 .svn 文件夹并粘贴到您的工作副本文件夹中。然后问题就解决了。

于 2011-10-14T10:03:18.557 回答
0

对我来说,当我两个都发生了同样的问题:

  • 删除 ( --force) 一个 .map 文件
  • 将 *.map 添加到svn:ignoreviasvn propedit svn:ignore .

我的解决方案是:

  1. 撤消对属性的更改
  2. 提交对文件的更改
  3. 签出存储库的新副本(唉!)
  4. 更改属性并提交
于 2012-03-12T09:52:55.460 回答
0

当我尝试向 svn 添加目录时遇到了这个问题。我通过进入回购浏览器解决了它。右键单击左侧窗口,选择添加文件夹并直接在 repo 浏览器中添加目录。

然后我在本地删除了目录(当然是在备份之后)进行了清理和 svn 更新,一切都恢复了。

于 2012-05-02T15:00:49.190 回答
0

我遇到的一项常见任务是必须在暂存中获取一个 repo 目录并将其复制到另一个 repo - 都在 SVN 下并且都称为相同的名称。对我有用的方式如下:

svn --force delete PROBLEMATIC-DIR
svn export "https://OLD REPO-A/ new-repo-A"
svn add new-repo-A
svn commit new-repo-A
于 2019-03-28T17:05:21.630 回答