svn: игнорировать локально для компьютера? - PullRequest
4 голосов
/ 29 февраля 2012

Когда я исключаю файлы из SVN с svn:ignore, а затем другой человек пытается зафиксировать исключенные файлы, svn блокирует его? или он должен сделать ту же команду на своем компьютере?

Ответы [ 3 ]

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

Представьте, если у вас есть куча файлов Java (*.java).Они компилируются в *.class файлы.Скомпилированные *.class файлы не должны храниться в Subversion.

Теперь представьте себе разработчика, который создал кучу новых *.java файлов, скомпилировал их, был доволен результатами и сделал следующее:

$ svn add *

В этом случае Subversion будет радостно добавлять все скомпилированные файлы *.class.Не то, что вы хотите ...

Свойство svn:ignore находится в каталоге, где вы хотите игнорировать файлы.Если и только если файл еще не находится в Subversion, файл не будет отображаться, если файл соответствует шаблону глобуса svn:ignore в файле, а пользователь вводит svn status или svn add с подстановочными знаками.

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

В приведенном выше сценарии, если разработчик сделал это:

$ svn add *

Свойство svn:ignore предотвратит*.class добавляемых файлов.

Однако, если пользователь специально добавляет игнорируемый файл:

$ svn add foo.class

Тогда Subversion не будет игнорироватьфайл.И, как только он будет добавлен в хранилище, Subversion сообщит об этом, если файл будет изменен или удален.

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

У меня есть ловушка для предварительной фиксации , которая может сделать шаг вперед.С его помощью вы можете запретить пользователям добавлять определенные файлы в хранилище.Вы также можете заставить пользователей устанавливать svn:ignore при создании нового каталога.

4 голосов
/ 29 февраля 2012

Когда я исключаю файлы из SVN с помощью svn: ignore, а затем другой человек пытается зафиксировать исключенные файлы, svn блокирует его?

Нет, svn: игнорировать, просто определите шаблон (ы) файлов, которые, если не отслежены и существуют внутри WC, будут отфильтрованы из вывода svn status svn add *

он должен сделать ту же команду на своем компьютере?

svn: ignore является версионным свойством папки , сохраненной вместе с другими версионными данными, в репозитории . Если вы фиксируете эти данные, а другая сторона обновляет собственный WC до этой (или более поздней) ревизии, папка в этом WC будет иметь ту же настройку свойства svn: ignore

1 голос
/ 29 февраля 2012

Свойство ignore не мешает никому добавлять файлы.Он только предотвращает перечисление файлов, которые соответствуют шаблонам, в Subversion как «неизвестные» при выполнении таких действий, как «svn status».

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

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