开发者社区> 科技小能手> 正文

svn: Can't find a temporary directory 问题解决

简介:
+关注继续查看

Error:Can't find temporary directory:internal error

然后试了下其他的SVN源,发现均无法提交,并且update时也出现上面的错误信息。对比项目文件时出现"不能创建目录或文件"

 

公司网站首页正在改版,突然出现上面的问题,导致代码管理无法使用,此时是十分着急,

赶忙到google上去搜索,发现很多人出现了同样的问题,普遍的问题产生原因是:Linux 下盘满,导致svn找不到临时目录存放文件所至.

然后我去装有SVN服务的LINUX机器上查看了一下磁盘空间:df -h

/dev/mapper/VolGroup00-LogVol00
                       18G  6.3G   11G  38% /
/dev/hda6              99M   12M   82M  13% /boot
tmpfs                 248M     0  248M   0% /dev/shm
很显然,磁盘空间还有很多剩余,并非磁盘空间不足导致的。

 

然后继续谷歌,但查找了很久始终没有找到有效的解决方法:

如:查看下 /var/tmp和/tmp的权限是否正确,使用chmod -R 1777 /var/tmp 和 chmod -R 1777 /tmp 修改目录权限。

检测过权限没有问题,并也试用过上面的命令,但均告无效。

 

也试了一些网上谈到的其他方法,不过都没有得到解决,问题依旧。

 

找网上查找无门后,自己开始寻求其他途径,我想可能有以下原因导致问题:

1、端口问题,端口可能被占用。

2、SVN客户端版本问题。

刚开始试了下方法:我把我的SSH服务的端口从2002(早期时期改了2002)改为了22,然后试了下SVN更新,竟然突然好了,可以使用了。

我很高兴,以为是端口问题,可我就是想不明白端口为何会导致这样。 但是,过了10分钟左右,我使用SVN进行提交,又出现了之前的那个错误提示。 这下真是郁闷了。我又试着改了SSH端口号,但这次我怎么改都没用了。 这个方法最终我宣告放弃了。

我开始尝试第二个方法,我检测到自己的客户端版本不是与SVN服务对应的版本,然后我下载了对应的版本,安装,然后重启机器。

然后再SVN提交,但问题依旧。 

 

本想这下拿它没折了,但意外的发现,这次提交失败的错误信息更加详细了,

Error:Can't find temporary directory

Error: C:/Documents and Settings/Administrator/Local Settings/Temp/tmpxxxxx   internal error

提示的"find temporary directory" 这里的临时目录文件指向的路径竟然是客户端机器的目录地址。 这就是关键!

 

我根据提示信息发现C:/Documents and Settings/Administrator/Local Settings/Temp/这个目录是存在的。

但是为何它提示不存在? 暂时想不明白,先不管了。

我发现那个目录下全是临时文件,目录大小有350多M。看着不顺眼,想把里面的文件全清楚了,我Ctrl+a 然后 Shift+Delete,

本以为一下就能全删除了。 结果却是:无响应,试了多次,都是无响应。  仔细一想,明白了,那个目录下的文件太多了,全是1K大小左右的文件,至少3-5万个。  我不知道windows一个目录下有3-5个文件会导致什么结果,但有一定我很清楚,会让机子很慢,常导致"无响应"。我推测有可能是这个目录下临时文件的个数太多了,导致SVN在此目录下创建临时文件失败。  然后我就一小部分一小部分的对目录里的文件进行删除(一次删2-3千个文件响应起来还是很快的),删了20多次,最终清理得只剩几个删不掉的文件了(正在使用的)。然后我再使用SVN的Commit进行文件提交,正如我所料,OK了。再试了其他的SVN命令都一切正常了。



本文转自 蔡小赵 51CTO博客,原文链接:http://blog.51cto.com/zhaopeiyan/1912413

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
The file is in the program because: Imported via xxx Root file specified for compilation Vetur(1261)
The file is in the program because: Imported via xxx Root file specified for compilation Vetur(1261)
21 0
objdump: ‘1443.14.0)‘: No such file or directory
objdump: ‘1443.14.0)‘: No such file or directory
15 0
SVN报错:cannot overwrite the existing versioned item at
SVN报错:cannot overwrite the existing versioned item at
10 0
The path ‘E:\ZERO‘ does not belong to a directory.
The path ‘E:\ZERO‘ does not belong to a directory.
120 0
解决报错:Couldn't create temporary file /tmp/apt.conf.IRqbCz
问题 操作容器应该是属于服务器开发同学的常规操作,经常我们会遇到系统缺少对应的工具的情况,比如我们进入容器后,想使用 vim 修改某个文件,但是发现该容器没有安装 vim 工具。这个时候,一般都需要自己手动安装,比如在 unbuntu 系统中,可以使用 apt-get 包管理命令。
352 0
SVN更新被Locked,Can't open file 'folder/.svn/tmp/text-base/file.svn-base'
SVN更新被Locked,Can't open file 'folder/.svn/tmp/text-base/file.svn-base'
65 0
+关注
科技小能手
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Borgaonkar-New-Adventures-In-Spying-3G-And-4G-Users-Locate-Track-And-Monitor
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载