Как добавить изображения сетчатки в SVN - PullRequest
19 голосов
/ 16 июля 2010

Мне нужно помочь вам.

Я сделал изображения для отображения на сетчатке, как "****@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

Пожалуйста, помогите !!

Ответы [ 7 ]

23 голосов
/ 01 июля 2011

http://developers.enormego.com/view/add_2x_ios4_resources_svn

Это связано с внутренними распознавателями путей в SVN.Ожидается, что последний символ в символе указывает на ревизию.Это легко исправить, добавив символ в конце вашего файла:

$ svn add Default@2x.png@
A (bin) Default@2x.png

Шуан (не я :)

19 голосов
/ 17 июня 2011

Команда 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@ становится правильным именем файла с добавленным символом '@' в конце.

7 голосов
/ 28 августа 2010

У меня была точная проблема несколько дней назад, и я решил ее следующим образом:

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

Возможно, это не идеальное решение проблемы, но это сработало, и я мог бы двигаться дальше.

5 голосов
/ 26 ноября 2012

Я сделал это так (в терминале)

svn add Images/icon@2x.png@

Или

Лучший способ - перейти на Xcode, щелкнуть правой кнопкой мыши на image>source control add. Он добавляет изображения без каких-либо ошибок.

3 голосов
/ 16 августа 2012

Этот вопрос уже немного устарел, но я заметил, что никто еще не опубликовал действительно простой однострочный вкладыш для добавления через терминал ВСЕХ новых файлов изображений, независимо от расширения или статуса "@ 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 в имени.

например. все перечисленное ниже будет добавлено за один раз:

?       header_bar.png
?       bg@2x.jpg
?       bg.jpg
?       header_bar@2x.png

svn_delall, таким же образом, удаляет все те надоедливые ! помеченные файлы, которые вы удалили через Finder, но еще не из svn;)

Обратите внимание, что они немного изменены из сценариев других людей, которые я нашел в Интернете, но другие всегда были либо специфичными для png (как насчет @2x.jpg?), Либо они только добавляют файлы сетчатки, но также не добавляют другие отсутствующие "normal "файлы изображений.

3 голосов
/ 08 января 2011

Сделай так намного проще ...

Пример:

svn add default@2x.png@2x
0 голосов
/ 09 ноября 2010

Лучший способ, который я нашел, - это интеграция Subversion в XCode. Установив интеграцию SVN (XCode> SCM> Настроить SCM), Ctrl + клик по элементу в окне «Группы и файлы» и выберите «Добавить в репозиторий». Чтобы удалить элемент, нажмите «Удалить» и выберите «ДА» при появлении запроса на удаление из системы контроля версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...