从所有目录中删除.svn文件

Mik*_*012 33 svn directory bash

可能重复:
如何删除文件夹的Subversion控件?
命令行以递归方式删除匹配的文件和目录

我最近使用cvs2svn将我的cvs存储库转换为svn,我最近注意到每个目录都有一个名为.svn的隐藏文件夹.我当前的构建脚本从我的版本化资源目录中复制了很多目录,最终复制了.svn文件.无论如何在我结账时让svn不包含这些文件,或者我是否需要编写脚本来删除所有这些.svn文件.有许多文件具有这些隐藏的.svn目录,所以这将是一个痛苦,除非我可以编写一个递归脚本来执行此操作,但我不会,如果我可以为我的Windows安装程序执行此操作.有没有一种简单的方法可以阻止svn将这个隐藏目录放在我的项目中的任何地方?

Cha*_*kel 69

在您的具体情况下,我不确定您是否要删除所有这些.svn目录.但是,如果你这样做,这里有一个bash one-liner来做到这一点:

find . -name .svn -print0 | xargs -0 rm -r
Run Code Online (Sandbox Code Playgroud)

  • 在运行命令之前一定要输入正确的目录,例如:cd mySVNdirectoryWhereToRemoveTheSubfolders (3认同)

mci*_*321 28

您可以执行称为SVN导出的操作来获取没有.svn目录的文件

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.export.html

  • 这很好,但不幸的是有时候有人会给你发一个充满它们的tarball :( (2认同)
  • 为什么这是公认的答案?它实际上根本不会回答这个问题.如果您没有SVN可供使用,那么它是无用的,如果您这样做,则不会删除*目录.它会创建省略.svn文件的现有文件的副本.是的,我正在分裂头发,但这是IT,对吧?根据http://stackoverflow.com/questions/4889619/command-to-recursively-remove-all-svn-directories-on-windows运行FOR/F"令牌=*"%G IN('DIR/B/AD/S*.svn*')DO RMDIR/S/Q"%G"是一个更好的答案 (2认同)

Nat*_*lor 5

昨天在这里发布了这个,但是这里又是因为我有点把它放在错误的线程中......


我有一些东西可以让你的一天.原始来源在这里.

这是一个(完全安全的)Shell扩展,它将在Windows中的右键菜单中添加"删除SVN文件夹".在包含那些讨厌的文件的任何目录上运行它.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
Run Code Online (Sandbox Code Playgroud)

要使构建脚本的这一部分复制该调用cmd.exe并执行它.


Ral*_*lph 5

find . -name '.svn' -depth -exec rm -rf '{}' \; -ls


小智 5

在Win32/Win64系统上,以下命令应该完成这项工作:

del /q /s  .svn
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

48879 次

最近记录:

11 年,3 月 前