Tortoise SVN: как игнорировать содержимое bin из commit - программирование
Подтвердить что ты не робот

Tortoise SVN: как игнорировать содержимое bin из commit

Я использую TortoiseSVN 1.7.9.

Как я могу игнорировать/удалять содержимое из папки /bin, когда я svn commit папка проекта? Я не хочу фиксировать файлы, такие как .dll, .pdb и т.д.

Я помещаю запись .dll .pdb в свойство svn: ignore, но она не работает, и эти файлы все еще отображаются в списке при выполнении коммита.

Я не использую клиент командной строки. В проводнике Windows щелкните правой кнопкой мыши папку корневого проекта и выберите фиксацию в контекстном меню TortoiseSVN.

4b9b3361

Ответ 1

Вы можете найти ответ в руководстве TortoiseSVN и SVNBook.

Руководство TortoiseSVN сообщает нам:

Если файлы уже находятся в репозитории, их нужно удалить из репозитория и добавлен в список игнорирования. к счастью У TortoiseSVN есть удобный ярлык для этого. TortoiseSVN → Unversion и добавить в список игнорирования сначала отметят файл/папку для удаление из хранилища, сохранение локальной копии. Он также добавляет этот элемент в список игнорирования, чтобы он не был добавлен обратно в Subversion снова по ошибке. Как только это будет сделано, вам просто нужно зафиксировать родительская папка.

См. важное примечание от SVNBook; он объясняет поведение и "почему это не работает" в вашем случае.

Поддержка Subversion для игнорируемых шаблонов файлов распространяется только на одноразовый процесс добавления неперевернутых файлов и каталогов в контроль версий. Когда объект находится под контролем Subversion, игнорировать шаблонные механизмы больше не применяются к нему. Другими словами, не ожидайте Subversion, чтобы избежать внесения изменений в файл с версией просто потому, что имя этого файла совпадает с игнорированием pattern-Subversion всегда замечает все свои версии объектов.

Ответ 2

Чтобы игнорировать файлы bin, obj и .suo и файл пользователя из всех проектов. Просто добавьте их в файл конфигурации в:

C:\Users\[USERNAME]\AppData\Roaming\Subversion\config ( in windows )

Найдите элемент global-ignores и добавьте следующее:

global-ignores = *.suo bin obj *.csproj.user

Ответ 3

Основной ответ: не храните скомпилированные библиотеки и двоичные файлы в исходном репозитории. Это репозиторий source!

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

Если вы хотите сохранить двоичные файлы и библиотеки для последующего использования, используйте для этого репозиторий выпусков. Фактически, вы можете даже настроить его, чтобы ваши сборки автоматически загружали DLL, которые могут потребоваться из других проектов. Репозиторий выпуска может быть чем-то простым, как каталог в другой системе, где эти файлы хранятся (и могут быть скопированы в другие проекты), или что-то более сложное, как Artifactory или Nexus (используется для проектов Maven и Ivy. думаю, что-то похожее для VS и C/С++ проектов).

Или вы можете использовать Jenkins, чтобы делать свои сборки, и хранить эти предметы в качестве встроенных артефактов в заданиях Дженкинса. Когда кто-то нуждается в них, они могут загрузить их через Дженкинса.