2012-02-28 2 views
4

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

+1

, если вы зафиксируете папку, в которой установлено свойство, тогда, когда другое лицо Обновления svn файлы также будут игнорироваться в его WC. – prodigitalson

ответ

4

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

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

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

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

1

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

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

5

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

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

$ svn add * 

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

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

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

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

$ svn add * 

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

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

$ СВН добавить Foo.class

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

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

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

Смежные вопросы