断断续续看过 试过好几次 svn  都是看一下就放掉了。今天重新开始看了,决定了解并慢慢使用 适应它。

由于实力有限,总想找一些傻瓜化的,简单又好用的工具来解除使用。好了 废话不多说,这边做一个简单的流水账。

首先下载了,uberSVN 目前还是测试版的。ubersvn.com注册成功后 获取了 key。于是首先在Windows下安装尝试了下(其官网有详细的使用说明文档,这边就不做具体说明了)。

结果在创建版本库的时候 提示js 类出错
Whoa! That wasn't supposed to happen!
Sorry, it looks like uberSVN has encountered a problem, details of which can be found below.
Please let us know if you believe this is a bug or an error on our part and we'll get straight down to fixing it.
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin

网上搜索了下,没发现什么好的解决方案,也不知道怎么动手解决,于是放弃了。
重新下载了linux版本,开启虚拟机 然后安装。
安装的时候出现了

Not enough space left in /tmp (0 KB) to decompress ****************** (******** KB)
Consider setting TMPDIR to a directory with more free space.


的错误提示,空间不足,但是要怎么修改TMPDIR呢,怎么查看其他的文件目录剩余空间呢。继续上网搜
$df -h         
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             3.8G  3.7G     0 100% /
/dev/sda5              14G  1.3G   12G  10% /home
/dev/sda1              46M   11M   33M  25% /boot
tmpfs                 506M     0  506M   0% /dev/shm
发现home 目录下剩余空间还很多,于是 修改TMPDIR
export TMPDIR="/home/tmp"
当然首先对应的目录 要先建好 :-)
然后继续安装,并修改安装目录,统统放到home 目录下,因为它比较空 :-)
安装完成,对照说明文档 熟悉了一下控制台界面。   额 发现它原来只是一个基本的管理工具。
并不是我想象中的那样,管理的同时,可以在线编辑   更新  提交 文件  控制版本。。。。。。。。
额,但想的太完美了 往往都是不太现实的。
还好本地已经有装 svn了,于是尝试着将虚拟机里面刚建的一个版本库给导出到本地来, 不知道 是什么原因,中途有点小小的错误提示,不过还是在本地生成了 一个库。
新建几个目录,放几个新文件。ok。 测试更新  提交。
错误又来了
error: Can't find a temporary directory
svn 还真不是那么好用  :-)  相对于小菜鸟来说。
继续上网查,有位老兄碰到过类似的问题,这边就直接先贴一下 他的(部分)原文
机子上的SVN突然没有办法进行代码提交了,出现的错误提示信息为:

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万个
。  然后就是慢慢的把这些文件删除咯,随后 问题都解决了。


尽管,我的问题只是其中的一个小小部分,不过他这个解决思路还是可以参考下的  哈哈。
因为刚刚已经处理过 tmp 目录的权限问题了,这步就不尝试了,    直接去看下  新的tmp 目录权限。
chmod 777 /home/tmp
修改后   重新更新   提交,ok 没问题了
也可以在uberSVN 中正常处理  Repositories 了

好吧今天就记到这边,也算有点小收获 :-)