Я запутался в жаргоне include / exclude, и мой фактический клиент SVN, похоже, не имеет (или мне не удалось его легко найти) простой опции для добавления или удаления определенного типа файлов для управления версиями .
Скажем, например, я добавил всю папку Visual Studio с ее решениями, проектами, файлами отладки и т. д., Но я хочу только версировать фактические исходные файлы. Как это сделать проще всего?





На самом низком уровне SVN позволяет игнорировать определенные файлы или шаблоны с атрибутом svn: игнорировать. Надстройки VS для SVN, такие как VisualSVN, автоматически игнорируют эти файлы от вашего имени. Если вы используете TortoiseSVN, вы можете щелкнуть правой кнопкой мыши файлы и папки в проводнике и выбрать Добавить в список игнорирования.
Это может быть достигнуто с помощью свойства svn: игнорировать или свойства global-ignores в вашем файле ~/.subversion/config. (Прокрутите до верхней части этой первой ссылки, чтобы увидеть инструкции по редактированию свойств.)
Используя svn propset или svn propedit в каталоге, вы сможете заставить Subversion игнорировать все файлы, соответствующие этому шаблону в определенном каталоге. Однако, если вы измените global-ignores в разделе ~/.subversion/config[miscellany], Subversion будет игнорировать такие файлы независимо от того, где они расположены.
Используя свойство svn:ignore, вы можете использовать подстановочные знаки.
Вероятно, безопаснее всего исключить определенные типы файлов, а не выбирать те, которые вы хотите включить, поскольку тогда вы можете добавить новый тип и не понимать, что он не версионирован.
Для каждого каталога вы можете редактировать свойство svn: игнорировать.
Бег
svn propedit svn:ignore .
для каждого соответствующего каталога, чтобы открыть редактор со списком шаблонов, которые следует игнорировать.
Затем поместите шаблон в каждую строку, соответствующую типу файла, который вы хотите игнорировать:
*.user
*.exe
*.dll
а что у тебя.
В качестве альтернативы, как было предложено, вы можете добавить эти шаблоны в свойство global-ignores в вашем файле ~ / .subversion / config (или "%APPDATA%\Subversion\config" в Windows - см. Расположение области конфигурации в книге красных бобов для получения дополнительной информации). В этом случае разделите узоры пробелами. Вот мой. # в начале строки вводит комментарий. Я проигнорировал файлы Ankh .Load и все файлы * .resharper.user:
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
global-ignores = Ankh.Load *.resharper.user
Можно ли добавить игнорирование для каждого проекта? Как в git. В git вы помещаете файл игнорирования в корень проекта, и это имеет приоритет над глобальным игнорированием.
См. Сообщение в блоге svn: игнорировать.
Используя TortoiseSVN, я знаю, что могу щелкнуть корневую папку, в которой что-то проверено, и могу добавить произвольные свойства, выбрав пункт меню «Свойства». В этом случае вы должны просто указать исключаемые шаблоны файлов.
Запись в блоге о командной строке, но я уверен, что она будет работать с любым клиентом, который вы используете.
Другой способ, при использовании TortoiseSVN, вы можете выбрать «Зафиксировать ...», а затем щелкнуть правой кнопкой мыши файл и перейти к списку изменений «игнорировать при фиксации».
Чтобы добавить к глобальным настройкам игнорирования TortoiseSVN, щелкните правой кнопкой мыши папку вашего проекта, TortoiseSVN ... Настройки ... Общие ... и в области Subversion вы можете отредактировать «Глобальный шаблон игнорирования».