今天在checkout spring的源代码的时候,出现如下提示:你的 .svn/tmp 目录可能丢失或损坏;请执行“svn cleanup”,然后重试

【注】svn co https://src.springframework.org/svn/spring-framework/tags/spring-framework-3.0.4.RELEASE

之前也曾经遇到过,都是绕道通行,实在郁闷。今天实在忍无可忍,探索+google了一把,终于把问题搞定了。

经过在Windows上进行测试,现在应该解决了这个问题了。 
总结一下,是由于我曾经在目录 D:\codes\sourcecodes\git\...,目录结构非常的深,导致在windows下svn对长度的存在一些问题。

解决方案:多退几级目录, 减少目录长度,再进行checkout。 例如:D:\codes>svn co https://src.springframework.org/svn/spring-framework/tags/spring-framework-3.0.4.RELEASE/

 

=======================================================

可能有用的信息:http://groups.google.com/group/blog-mover/browse_thread/thread/b0c9da1e6f16ce9e

经过在Windows上进行测试,现在应该解决了这个问题了。 
总结一下,是由于我曾经在目录 
blog-mover-src\blog-mover-bsps\blog-mover-bsps-com.blogcn\src\test\java\com \redv\blogmover\bsps\com\blogcn 
下建立了一个文件,其文件名大概是 
blue_log_ct.asp_action_edit_id_52108763_UserID_32361141_uid_blogmoverdev_db ID_3_t_2007%2D2%2D1+12%3A54%3A12.html_wd3_init.html 
而这个曾经会在svn的svn-base中需要记录,鉴于该文件名太长,导致Windows(包括Windows XP,Vista)无法处理。 

经过将这个目录删除后重建(目的是切断该目录的历史,让svn-base中不再有这个长文件名)解决了这个问题。 

这个问题在FreeBSD等类似操作系统下不存在。 
我顺便鄙视一下Windows。