如何解决“svn:找不到临时目录:内部错误”?

如何解决“svn:找不到临时目录:内部错误”?

我已经在 Google 上搜索过该消息,并且 SVN 服务器上有足够的可用磁盘空间(约为 150 GB 的 4% 使用率)。

我注意到,当我echo $TMPDIR在 SVN 服务器上的命令提示符下尝试时,什么也没有得到。

让人有点困惑的是,当我执行svn diff(我已经测试过了)时,我只能从一个位置收到此消息 - 当我从另外三台计算机尝试时,不会出现此错误(其中一台正在针对完全相同的存储库进行测试,另外两个是同一个 svn 服务器上的不同存储库)。

我能看到的唯一区别是,损坏的工作副本通过 IP 地址连接到服务器,而所有其他副本都使用服务器名称(尽管这通过 DNS 解析为相同的 IP 地址)。

我希望我不必删除损坏的工作副本并签出一个新的 - 不幸的是,这是一个遗留项目并且并非所有更改都得到了正确的修订。

答案1

如果磁盘已满,我发现了。

释放一些空间,错误就会消失。

答案2

最终找到了一种方法来做到这一点(以及将当前未修订的所有内容置于适当的版本控制之下):

  1. 使用“find”命令从损坏的工作副本中删除所有 .svn 目录
  2. 将工作副本移动到另一个位置
  3. 将新的工作副本签出到原始位置
  4. 递归地将旧的/剥离的工作副本复制到新的工作副本中
  5. 不再有问题

我认为该工作副本的某个 .svn 文件肯定存在损坏。

答案3

在出现问题的计算机上,尝试手动删除该目录,不要提交,而是在本地计算机上更新 svn,重新对该目录进行更改,这是一个目录。对于我遇到的类似错误,这种方法通常很有效。

答案4

我可以通过运行此处提供的脚本来解决此问题:

https://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svn-clean

相关内容