关于公司的SVN服务器,我(Liigo)说几个事:
2、今年初(2012)在我自己的电脑上安装了最新的SVN客户端1.7.4,发现从服务器上update过来的文件,各个子目录里没有了讨厌的.svn子目录了,清爽许多。跟Git学了,仅在项目根目录存储一个.git/.svn。
3、后来偶然发现SVN版本库里出现了两个许久之前就已删除过的文件(通过SVN提交日志确认它们早就被删除过了),估计是用SVN新版客户端拉取旧版服务端的小BUG(但我不能确认,也难以重现)。后来也没遇到其他异常情况,基本上一切如旧。
4、用了两三个月才偶然发现SVN记录的代码提交日期竟然是2002年,一检查才发现服务器系统时间是2002年,估计是两三个月前公司搬家时,CMOS掉电导致系统时间被还原为2002.1.1。
5、发现Ubuntu 6桌面版竟然不支持外设(鼠标/键盘/显示器)热插拔,必须重启系统才能识别。
SVN服务器所在主机IP改变之后,原来已经Checkout过的客户端就连不上服务器了,因为它存储的是旧的SVN服务器URL。在图形操作界面的TortoiseSVN上操作是很简单的,右键菜单Relocate,输入新的URL即可。
在非图形界面下,需使用svn switch命令:
svn switch --relocate oldURL newURL
示例:
svn switch --relocate svn://192.168.0.111/dev svn://192.168.0.222/dev
SVN在网络条件不理想的状况下表现太差了。已经Update到最新版本源代码,查看某条提交日志中某个文件的修改详情,需要联网下载数据。一个总共就几十行的源代码文件,修改仅涉及其中二三行,要查看此次修改跟上次修改的对比,得下载超过20KB的数据,但网络状况不好下载速度只有不足1KB每秒。SVN离开了网络举步维艰,可以说已经严重的影响了工作。非常痛苦。我想这就是SVN被GIT取代的很重要的原因之一吧。当然,在局域网环境下不存在这个问题。