Подтвердить что ты не робот

Как включить/исключить определенный тип файлов в Subversion?

Я запутался с жаргоном include/exclude, и мой фактический SVN-клиент, похоже, не имеет (или мне не удалось его легко найти) простой вариант добавления или удаления определенного типа файлов для контроля версий.

Скажем, например, я добавил всю папку Visual Studio с ее решениями, проектами, отладочными файлами и т.д., но я хочу только обновить фактические исходные файлы. Каким будет самый простой способ сделать это?

4b9b3361

Ответ 1

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

В каждой директории вы можете отредактировать свойство svn: ignore.

Run

svn propedit svn:ignore .

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

Затем поместите шаблон в каждую строку, соответствующую типу файла, который вы хотите игнорировать:

*.user
*.exe
*.dll

и что у вас есть.

В качестве альтернативы, как было предложено, вы можете добавить эти шаблоны в свойство global-ignores в файле ~/.subversion/config (или "%APPDATA%\Subversion\config" в Windows - см. Конфигурация области конфигурации в красной книге bean для получения дополнительной информации). В этом случае отделите шаблоны с пробелами. Здесь моя. # в начале строки вводится комментарий. Я проигнорировал файлы 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

Ответ 2

Это может быть достигнуто с помощью свойства svn: ignore или свойства global-ignores в вашем файле ~/.subversion/config. (Прокрутите до верхней части этой первой ссылки, чтобы увидеть инструкции по редактированию свойств.)

Используя svn propset или svn propedit в каталоге, вы сможете заставить Subversion игнорировать все файлы, соответствующие этому шаблону в определенном каталоге. Однако если вы измените глобальные игнорирования в разделе ~/.subversion/config [miscellany], Subversion будет игнорировать такие файлы независимо от того, где они находятся.

Ответ 3

См. сообщение в блоге svn: игнорировать.

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

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

Ответ 4

На самом низком уровне SVN позволяет игнорировать определенные файлы или шаблоны с атрибутом svn: ignore. VS надстройки для SVN, такие как VisualSVN будут автоматически игнорировать эти файлы от вашего имени. Если вы используете TortoiseSVN, вы можете щелкнуть правой кнопкой мыши файлы и папки в проводнике и выбрать "Добавить в список игнорирования".

Ответ 5

Используя свойство svn:ignore, вы можете использовать подстановочные знаки.

Ответ 6

Другой способ: при использовании TortoiseSVN вы можете выбрать "Commit...", а затем щелкнуть правой кнопкой мыши по файлу и перейти в список изменений "ignore-on-commit".