Лучший общий шаблон SVN Ignore?

Каков наилучший (или насколько это возможно) общий шаблон игнорирования SVN?

Существует несколько различных файлов IDE, редактора, компилятора, подключаемого модуля, платформы и т.д. и некоторых типов файлов, которые "перекрываются" (т.е. желательно для проектов некоторых типов, а не для других).

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

Ответ на этот вопрос послужил бы хорошей отправной точкой для любого проекта - только потребовал бы, чтобы они добавили несколько необходимых для окружающей среды элементов, которые им нужны. Он также может быть адаптирован для других систем управления версиями (VCS).

Ответ 1

Я добавлю свои два цента на этот вопрос:

Я использую следующий шаблон игнорирования SVN с TortoiseSVN и Subversion CLI для собственных проектов С++, С#/VB.NET и PERL на платформах Windows и Linux. Это хорошо работает для меня!

Отформатирован для копирования и вставки:

*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk *.msi* .res *.pch *.suo *.exp *.*~ *.~* ~*.* cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user *.generated.cs

Отформатирован для удобства чтения:

*.o *.lo *.la #*# .*.rej *.rej
.*~ *~ .#* .DS_Store thumbs.db 
Thumbs.db *.bak *.class *.exe *.dll
*.mine *.obj *.ncb *.lib *.log 
*.idb *.pdb *.ilk *.msi* .res *.pch *.suo 
*.exp *.*~ *.~* ~*.* cvs  CVS .CVS .cvs  
release Release debug Debug
ignore Ignore bin Bin obj  Obj
*.csproj.user *.user
*.generated.cs

Ответ 2

На основе шаблона игнорирования Burly я добавил ReSharper в список игнорирования

Отформатирован для копирования и вставки:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user

Отформатирован для удобства чтения:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs
CVS .CVS .cvs release Release debug
Debug ignore Ignore bin Bin obj Obj
*.csproj.user *.user _ReSharper.* *.resharper.user

Ответ 3

Мой шаблон игнорирования для Visual Studio:

*/bin */obj */Release */Debug *.suo *.err *.log *.obj *.bin *.dll *.exe *.LOG *.user *.pdb [tT]emp [tT]empPE Ankh.Load thumbs.db *.resharper *.vspscc *.vsssccc *.scc */_ReSharper* */_ReSharper.* bin obj *.resharperoptions *.db *.bak *_ReSharper* *.snk logs output TestResults *.crunchsolution.* *.crunchproject.*

Отформатирован для удобства чтения

*/bin */obj */Release */Debug *.suo *.err *.log *.obj *.bin *.dll *.exe 
*.LOG *.user *.pdb [tT]emp [tT]empPE Ankh.Load thumbs.db *.resharper 
*.vspscc *.vsssccc *.scc */_ReSharper* */_ReSharper.* bin obj 
*.resharperoptions *.db *.bak *_ReSharper* *.snk logs output TestResults 
*.crunchsolution.* *.crunchproject.*

Ответ 4

Каждый раз, когда я сталкиваюсь с файлом, который обычно не нужен в репозитории, я обновляю шаблон. Я считаю, что нет "лучшего" шаблона - он всегда зависит от языка и среды, которые вы разрабатываете.

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

Ответ 5

Пользователи Windows могут захотеть загрузить desktop.ini и thumbs.db.

Ответ 6

Используется для проектов Visual Studio

*/bin */obj *.user *.suo

Вы можете развернуть больше типов файлов.

Ответ 7

Пользователям Visual Studio (VС++) определенно необходимо исключить файлы .ncb

Ответ 8

Пользователи Mac, возможно, захотят вставить .DS_Store. Кроме того, если есть dev, использующие Emacs или Vim, вы, вероятно, захотите добавить ~~ и ##.

Ответ 9

Для Eclipse я использую:

bin
.*

. * получает всю конфигурацию проекта. Вы почти никогда не хотите проверять "скрытый" каталог или файл, но если он подходит, вы все равно можете его добавить.

Ответ 10

Поскольку вы можете использовать сторонние библиотеки и библиотеки DLL как часть проекта, я не вижу мудрости в блокировании *.lib и *.dll из репозитория. Это то, что предназначено для хранения в репозитории.

Ответ 11

Пользователи Visual Studio 2010 должны добавить ipch (папку, содержащую предварительно скомпилированные заголовки С++) и *.sdf (огромные файлы, используемые intellisense для любого проекта).

Ответ 12

Шаблон зависит от используемой операционной системы.

В Linux вам нужно будет заблокировать **. o *, **. so *, **. a * и **. la * для начала. Вы также можете заблокировать ** ~ * (файл резервного копирования от редактирования) и # * # (резервная копия emacs из-за сбоя).

В Windows вам понадобятся **. obj *, **. lib * и **. dll * по крайней мере.

Любые другие файлы, которые необходимо блокировать, зависят от вашей среды разработки, редактора и компилятора.

Ответ 13

Обязательно добавьте Resharper в микс, если вы его используете.

другой, который нужно искать, это Ankh *. *

Ответ 14

Не забывайте NCrunch временные файлы:

*.crunchsolution.* *.crunchproject.*

Ответ 15

И основные дампы (cygwin, linux)

*.stackdump core.*

Ответ 16

gitignore.io предоставляет настраиваемые шаблоны для git. Они предоставляют читаемый список, который вам нужно переформатировать для SVN.

Например, запрос MicrosoftOffice и Windows возвращает

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

Ответ 17

gitignore.io предоставляет настраиваемые шаблоны для git. Они предоставляют читаемый список, который вам нужно переформатировать для SVN.

Например, запрос MicrosoftOffice и Windows возвращает

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

Кажется, что его можно использовать непосредственно как svn:global-ignore