我需要帮助你。
我为视网膜显示制作了像“****@2x.png”的图像。 但它不能像这样添加到svn。
******-no-iMac-2:baz shunter$ svn add retina_images/foo@2x.png
svn: warning: 'retina_images/foo' not found
我知道如何像这样添加资源。
******-no-iMac-2:baz shunter$ svn add retina_images/foo@2x.png@
A (bin) retina_images/foo@2x.png
但我制作了很多图片,所以我觉得这样做很糟糕。
我真的想知道如何添加这样的内容。
******-no-iMac-2:baz shunter$ svn add retina_images/bar/*.png
请帮助!!
答案 0 :(得分:23)
http://developers.enormego.com/view/add_2x_ios4_resources_svn
这是由于SVN中的内部路径识别器。它希望符号的最后一个指定修订版。通过在文件末尾添加at符号可以轻松纠正这一问题:
$ svn add Default@2x.png@
A (bin) Default@2x.png
By Shuan(不是我:)
答案 1 :(得分:19)
svn
命令将@
解释为尝试指定SVN修订号(@REV格式),所以......
添加单个文件:
svn add filename@2x.png@
现在svn
将最终@
视为@REV说明符而不是第一个。
添加多个文件:(每个文件都添加了@符号)
ls *2x.png | xargs -I x svn add x@
这将列出*2x.png
,它将列出您的所有视网膜图像(在当前目录中),输出通过xargs
,后者为每个文件执行svn add
命令。 -I x
告诉xargs
将'x'替换为文件名,因此svn add x@
成为正确的文件名,并在末尾添加了'@'符号。
答案 2 :(得分:7)
几天前我遇到了这个问题并以这种方式解决了这个问题:
berry$ for i in retina_images/bar/*.png
do
svn add $i@
done
A (bin) retina_images/bar/foo1@2x.png
A (bin) retina_images/bar/foo2@2x.png
A (bin) retina_images/bar/foo3@2x.png
A (bin) retina_images/bar/foo4@2x.png
berry$ svn commit
这可能不是解决问题的理想方案,但它确实有效,我可以继续前进。
答案 3 :(得分:5)
我是这样做的(在终端)
svn add Images/icon@2x.png@
或强>
最好的方法是转到Xcode
,右键点击image>source control add
。它添加图像而不显示任何错误。
答案 4 :(得分:3)
这样做更容易......
示例:
svn add default@2x.png@2x
答案 5 :(得分:3)
这个问题现在有点老了,但我注意到还没有人发布一个真正简单的单线程,用于通过终端添加所有新图像文件,无论扩展名或“@ 2x”状态 - 还是删除它们。我在bash_profile中有这些行:
alias svn_addall="svn st | grep '^?' | sed -e 's/@2x.*/&@/' | awk '{print \$2}' | xargs svn add"
alias svn_delall="svn st | grep '^\!' | sed -e 's/@2x.*/&@/' | awk '{print \$2}' | xargs svn rm"
然后,如果从项目中的任何子文件夹运行svn_addall
,它将递归地添加所有文件,无论它们是否在名称中都有@ 2x。
e.g。所有以下内容将一次性添加:
? header_bar.png
? bg@2x.jpg
? bg.jpg
? header_bar@2x.png
svn_delall
以同样的方式删除了您通过Finder删除但尚未从svn删除的所有那些令人讨厌的!
标记文件;)
请注意,这些都是我在网上找到的其他人的脚本中的一些修改,但其他人总是要特定于png(@2x.jpg
怎么样?),或者他们只添加视网膜文件而不添加其他缺失“普通”图像文件。
答案 6 :(得分:0)
我发现的最好方法是通过XCode中的Subversion集成。一旦你有SVN集成设置(XCode> SCM>配置SCM),Command +点击Groups& amp;在“文件”窗口中选择“添加到存储库”。要删除项目,请单击“删除”,如果要从源代码管理中删除,请在提示时选择“是”。