我想从我的存储库中删除所有版本化的文件,但保留版本化的目录结构。 显然,我想保留所有.svn目录不变。
换句话说,我想完全清空工作副本的目录结构,而不损害目录结构本身。
例如,从这个结构中删除文件:
dir/ .svn/ [files] svsubdir1/ file1 .svn/ [files] subdir2/ file2 file3 file4 .svn/ [files] subsubdir1/ file5 .svn/ [files]
应该导致:
dir/ .svn/ [files] svsubdir1/ .svn/ [files] subdir2/ .svn/ [files] subsubdir1/ .svn/ [files]
我正在寻找某种find命令或某种东西来完成这个任务,而且我在构build命令时遇到了麻烦。 谢谢您的帮助!
find dir/ -path '*/.svn' -prune -o -type f -print
应该符合法案(主要来自查找man -path )。 pipe到less,检查出来。 它的function是首先查找(path以.svn结尾,不会recursion到(修剪)此目录)或(如果它是一个文件,打印它)。
如果看起来不错,请将其更改为
find dir/ -path '*/.svn' -prune -o -type f -exec rm {} +
+版本将所有文件一起粘贴到一个rm命令中。 如果你偏执,先保留树的备份( cp -a dir/ otherdir/ )。
找 。 -not -path“* /。svn / *”-and -type f -and -exec / bin / rm'{}'\;
应该做的伎俩。