Подтвердить что ты не робот

SVN не будет импортировать *.a библиотеку

У меня есть скомпилированная статическая библиотека (с расширением "a" ), которую я хочу включить в мой SVN-репозиторий, но добавление никогда не работает (без проблем с добавлением других типов элементов). Если я изменил расширение (например, "library.a" → "library.b" ), добавление работает. Почему "а" не работает? Есть ли способ обойти это без переименования файла?

4b9b3361

Ответ 1

Вы проверили свои глобальные параметры игнорирования. В linux они хранятся в ~/.subversion/config

По умолчанию на моей машине есть:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo

поэтому он игнорирует файлы *.a

подробнее здесь

Вы можете добавить файл с помощью

svn add "file" --no-ignore

чтобы обойти любой набор правил игнорирования.

Если команда:

svn status --no-ignore

возвращается с I, перед вами есть локальный Игнорировать. Run:

svn propedit svn:ignore

Ответ 2

Итак, я предлагаю на самом деле отредактировать этот файл ~/.subversion/config, чтобы снова разрешить файлы .a:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo
#global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo

Потому что в моих проектах у меня много файлов .a.

Ответ 3

В Mac OSX (Lion) я использую SCPlugin (http://scplugin.tigris.org/).

Это добавляет приятное всплывающее окно с SVN-командами на нем, и оно позволяет мне добавлять *.a файлы, когда svnx или xcode не позволяют это.

Я подозреваю, что это на самом деле ошибка, так как она явно игнорирует правильные параметры игнорирования (по иронии судьбы), но для тех, кто не хочет связываться с терминалом, это доказывает удобство.

EDIT: SmartSVN также позволяет просматривать проигнорированные файлы, чтобы их можно было добавить как обычный файл. Просто проверьте опции "проигнорированные файлы" в меню просмотра.

Ответ 4

Кстати, если вы используете импорт SVN (т.е. не рабочую копию), вы можете переопределить глобальные игнорирования с помощью:

--config-option=config:miscellany:global-ignores=[new ignores]

Ответ 5

Мы можем добавить библиотеку на svn:

svn add library.a --no-ignore

После добавления svn необходимо обновить:

svn update

Заменить изменения в svn, используя:

svn commit -m "library.a added on svn"

Ответ 6

Я недавно встретил этот вопрос, это мой способ:

svn import --no-ignore --force  svn://destination