svn目录清理
相对于分布式的版本管理系统,SVN具有分目录check-out的功能.使得很多大项目,尤其是二进制数据比较多的项目,仍然采用SVN来管理.
但是一个副作用就是工程的所有目录里都会有一个.svn目录,一旦处于某种原因不能export(比如Ignore了太多有用的东西), 而又需要迁移的时候, 挺麻烦的, 在某些mail-list里面看到很多人觉得这个挺恼人的…
删除.svn目录
Linux里面这种问题好解决:
$ find -type d -name ".svn" | xargs -n 1 rm -rf
Windows里面就要借助GnuWin32提供的那些Gnu CLI工具了:
G:\GetGnuWin32\gnuwin32\bin\find -type f -name "*.svn" | sed "s/\.\//rm -rf /g" > todel.bat call todel.bat
虽然GnuWin32里也提供了xargs,但是考虑到Windows里文件目录是可以包含空格的, find出来的结果和被删的时序也不能保证,所以我还是另外生成了bat来做实际的删除工作. 实际运用中发现这是个好方法,Windows环境下不可预知的问题太多了,留个底比较好…
显然其中find 和 sed 是gnu coreutils.值得一提的是Windows也有一个find,我是把它覆盖了…
做配置管理的,身边还是留一些这样的工具,或者一两门自己稍稍熟悉的脚本语言(perl,python…)比较好.
说到版本管理,个人不喜欢Git,还是Bazaar合我的胃口,前者有一颗强的心,功能却不太友好,后者先完善功能,效率却相对低一些.不同的哲学吧,个人喜欢友善而臃肿的东西~~

Discussion