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

我已经使用了这个消息,并且在SVN服务器上有足够的可用磁盘空间(大约是150GB的4%)。

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

是什么让这有点令人困惑的是,我只从一个位置得到这个消息,当我做一个svn diff (我已经testing到目前为止) – 这个错误不会出现,当我尝试从其他三台电脑(其中之一正在testing完全相同的存储库,另外两个在同一个svn服务器上是不同的存储库)。

关于我可以看到的唯一区别是,破损的工作副本通过IP地址连接到服务器,其中所有其他人都使用服务器名称(尽pipe这通过DNSparsing为相同的IP地址)。

我希望我不必抓取破损的工作副本,并签出一个新的 – 不幸的是,这是一个遗留项目,并不是所有的更改已经适当修改。

最终想出了一个方法来做到这一点(以及在适当的版本控制下取得目前所有的东西):

  1. 使用“find”命令从破损的工作副本中去除所有的.svn目录
  2. 将工作副本移到另一个位置
  3. 签出一个新的工作副本到原来的位置
  4. recursion复制旧的/剥离的工作副本到新的
  5. 没有更多的问题

我认为那个工作副本的.svn文件中肯定有一些腐败。

我发现,如果磁盘已满 ,也会出现此错误。

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

在有问题的计算机上,尝试手动删除该目录,不要提交,但在本地机器上更新您的svn,重做该目录上的更改,它是一个目录。 这通常与我在类似的错误。

我能够通过运行这里提供的脚本来解决这个问题:

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