SVN не игнорирует файлы - PullRequest
       25

SVN не игнорирует файлы

5 голосов
/ 25 февраля 2012

Я хочу, чтобы репозиторий полностью игнорировал некоторые определенные файлы - эквивалент добавления этих файлов в .gitignore в системе git.Я пытался:

svn propset svn:ignore *.aux" .

игнорировать все .aux файлы.Тем не менее, после этого и успешного svn commit, svn status по-прежнему показывает:

?       something.aux
!       somethingelse.aux

есть ли еще более надежный способ заставить его игнорировать эти файлы, чтобы они не отображались в списках, напримерэто?

1 Ответ

2 голосов
/ 01 ноября 2012

На самом деле это распространенный вопрос, и я настоятельно рекомендую вам рассмотреть главу SVNBook «Игнорирование неверсионных элементов» , которая охватывает его.

См. Важный отрывок из SVNBook, в котором объясняется поведение:

Поддержка Subversion игнорируемых шаблонов файлов распространяется только на одноразовый процесс добавления неверсионных файлов и каталогов в контроль версий . Когда объект находится под контролем Subversion, механизмы игнорирования шаблонов больше не применяются к нему. Другими словами, не ожидайте, что Subversion избежит внесения изменений, которые вы внесли в версионный файл просто потому, что имя этого файла соответствует игнорированию шаблон - Subversion всегда замечает все свои версионные объекты.

Согласно выводу svn status ваша рабочая копия содержит один неверсионный элемент (тот, у которого есть знак '?' ) и один отсутствующий элемент (тот, у которого есть ' ! ' знак) .

?       something.aux
!       somethingelse.aux

Итак, вы вручную удалили (то есть через Windows Explorer, но не через клиента SVN) somethingelse.aux и теперь он имеет статус «отсутствует». Другой файл something.aux по-прежнему не версионен и не игнорируется.

Если вы не набрали неправильно команду svn propset, зафиксировали изменение свойства, и файл все еще имеет неверсионный статус, вы можете найти этот отрывок полезным:

шаблоны, найденные в свойстве svn: ignore, применяются только к каталог, в котором установлено это свойство, а не какой-либо из его подкаталоги.

Кроме того, вы можете проверить свойство svn:ignore, введя команду svn propget.

...