如何从命令行中的svn中删除名称为@的文件?

时间:2010-08-18 11:02:16

标签: svn

使用新的iPhone 2x文件我偶然发现了这个问题...

1 个答案:

答案 0 :(得分:50)

您需要在最后添加“@”符号以获取SVN来处理该文件。

例如,如果您要将一个名为foo@2x.png的文件添加到SVN,则应键入:

svn add foo@2x.png@

如果你想在批处理中使用名称中带有“@”符号的文件很多(即使用*通配符),你可以在OS X终端中执行类似的操作:

find . -name "*@*" | xargs -I % svn add %@

上面的命令将使用find实用程序列出文件名中包含@的每个文件,然后使用XARGS将每个文件路径传递给SVN。

对于每个文件路径,XARGS将执行提供的命令 svn add %@,但-I %告诉XARGS替换每次出现的“%”在提供的命令中,使用文件路径管道。 XARGS有效地在文件名末尾附加特殊的“@”。

例如,在替换“%”字符后,XARGS将执行svn add path/to/your/file@2x.png@; SVN会接受这个(大概是因为SVN查找最后出现的“@”并将其视为修订说明符)

希望这会有所帮助 - 我不得不重新添加我的应用程序升级到iOS4.0所需的gazzilion @ 2x.png文件