Page Actions
Wiki Actions
User Actions
Submit This Story

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环境下不可预知的问题太多了,留个底比较好…

显然其中findsed 是gnu coreutils.值得一提的是Windows也有一个find,我是把它覆盖了…

做配置管理的,身边还是留一些这样的工具,或者一两门自己稍稍熟悉的脚本语言(perl,python…)比较好.

说到版本管理,个人不喜欢Git,还是Bazaar合我的胃口,前者有一颗强的心,功能却不太友好,后者先完善功能,效率却相对低一些.不同的哲学吧,个人喜欢友善而臃肿的东西~~:-o

,

Discussion

Enter your comment
 
 
blog/2010/04/svn_dir_clear.txt · Last modified: 2010/05/27 16:35 by MeaCulpa     Back to top
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki