我已经在 Google 上搜索过该消息,并且 SVN 服务器上有足够的可用磁盘空间(约为 150 GB 的 4% 使用率)。
我注意到,当我echo $TMPDIR
在 SVN 服务器上的命令提示符下尝试时,什么也没有得到。
让人有点困惑的是,当我执行svn diff
(我已经测试过了)时,我只能从一个位置收到此消息 - 当我从另外三台计算机尝试时,不会出现此错误(其中一台正在针对完全相同的存储库进行测试,另外两个是同一个 svn 服务器上的不同存储库)。
我能看到的唯一区别是,损坏的工作副本通过 IP 地址连接到服务器,而所有其他副本都使用服务器名称(尽管这通过 DNS 解析为相同的 IP 地址)。
我希望我不必删除损坏的工作副本并签出一个新的 - 不幸的是,这是一个遗留项目并且并非所有更改都得到了正确的修订。
答案1
如果磁盘已满,我发现了。
释放一些空间,错误就会消失。
答案2
最终找到了一种方法来做到这一点(以及将当前未修订的所有内容置于适当的版本控制之下):
- 使用“find”命令从损坏的工作副本中删除所有 .svn 目录
- 将工作副本移动到另一个位置
- 将新的工作副本签出到原始位置
- 递归地将旧的/剥离的工作副本复制到新的工作副本中
- 不再有问题
我认为该工作副本的某个 .svn 文件肯定存在损坏。
答案3
在出现问题的计算机上,尝试手动删除该目录,不要提交,而是在本地计算机上更新 svn,重新对该目录进行更改,这是一个目录。对于我遇到的类似错误,这种方法通常很有效。
答案4
我可以通过运行此处提供的脚本来解决此问题:
https://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svn-clean