如何递归删除 .svn 目录?

7 svn recursion

如何从我所在的目录开始递归删除所有 .svn 目录?

Ned*_*der 12

请记住,svn 提供了“export”命令,该命令为您提供工作树的副本,但没有散布所有 .svn 目录。这可能是您想要的。

$ svn export /tmp/copy_of_my_tree
Run Code Online (Sandbox Code Playgroud)


Oli*_*rth 9

如果您在 Linux(或同等产品)中工作,您只需执行以下操作:

find . -name .svn -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

  • 或者,更好的是,正如 Piskvor 提到的,使用 `-type d` 来确保不会意外删除不是目录的内容。 (2认同)

Pis*_*ing 7

在任何现代类 UN*X 系统(Linux、Mac OS X、FreeBSD)中:

find . -type d -name '.svn' -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

找:

  • 在当前目录
  • 目录
  • 有名字 .svn
  • 当找到时,rm -rf在每个上运行

  • 这几乎是规范的习语。你忘记了 `xargs` 来减少所需的 `rm` 进程的数量:`find 。-type d -name '.svn' -print0 | xargs -0 rm -rf --` (4认同)