我正在将VSS存储库迁移到SVN,并在第一次签入时无意中包含了所有_vti_cnf,* .scc文件。我想从SVN中删除这些内容。 (当然不是永久性的 - 只是在HEAD中)。有问题的应用程序非常庞大,在逐个文件夹的基础上查找和删除这些文件将需要永远。
连连呢?必须有一些明显的方法来做到这一点,但周末的接近干扰了我的高级脑功能。
答案 0 :(得分:4)
如果您可以使用TortoiseSVN,以下内容适用于我(=我在上下文菜单中获取必要的命令):
完成!
在提供版本控制建议时,通常免责声明,小心,备份,我不承担任何责任等。
答案 1 :(得分:3)
在Windows命令提示符下,您可以使用'for'执行递归文件搜索,并为每个匹配文件调用'svn delete',
C:\> for /r %i in (abc*def.sql) do svn delete %i
注意:请记住,在批处理文件中,您需要将%i替换为%% i。
要了解可以与'for'一起使用的所有其他标志(它是搜索和解析的瑞士军刀),请使用help命令,
C:\> help for
答案 2 :(得分:2)
如果您正在运行Linux或Mac OS,则可以使用find
,例如
$ find . -type d -name "_vti_cnf" -exec svn delete {} \;
我不再是SVN用户(并且从未使用过VSS),因此您可能需要先修改命令行和/或尝试使用-print
。
答案 3 :(得分:1)
你不能只是grep(或其他一些找到文件的操作)签出版本中的* .scc文件,删除它们然后提交吗?
答案 4 :(得分:0)
或使用PowerShell:
Foreach ($file in Get-Childitem * -include "*.txt")
{
svn del $file.name
}
其中* .txt是通配符,*指定当前目录查找要删除的文件