SVN - как игнорировать каталог - PullRequest
0 голосов
/ 19 января 2020

Я получил версионный подкаталог, заполненный многими видами файлов и каталогов, *. c, * .h, * .a, * .so ..., et c. Кроме того, этот материал частично изменяется каждый раз, когда проект создается, и очень БОЛЬШОЙ, так что когда я фиксирую из родительского каталога, этот подкаталог очень сильно замедляет процесс.

Причина, по которой svn медленен, заключается в том, что очевидно, потому что svn нужно проанализировать этот подкаталог и перечислить все из них в диалоге фиксации.

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

Вот что я сделал и потерпел неудачу:

  • В диалоге фиксации: щелкните правой кнопкой мыши -> перейти к списку изменений -> игнорировать при фиксации.

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

  • Щелкните правой кнопкой мыши подкаталог -> TortoiseSVN -> Удалить и добавьте в список игнорирования.

    Это м ethod удалит подкаталог, а это не то, что мне нужно.

  • Область конфигурации времени выполнения - опция global-ignores.

    Global-игнорирует субъекты расширений и sub -директория также содержит *. c файлы. Если я добавлю *. c в список глобальных игнорирований, я не смогу зафиксировать *. c файлы в других каталогах!

РЕДАКТИРОВАТЬ: svn версия 1.6.17

1 Ответ

1 голос
/ 19 января 2020

Хранение сгенерированных двоичных файлов в системе управления версиями обычно не рекомендуется, даже если все сделано правильно. Я бы предложил полностью удалить все сгенерированные выходные данные папки из репозитория, а затем добавить их в свойство svn:ignore родительской папки, чтобы это был полностью локальный каталог. Затем найдите совершенно другой механизм для распространения бинарных выпусков; если это должно быть сделано в рамках подрывных операций, было бы предложено создать новую иерархию в хранилище, например /branches/releases.

Если исправление нарушенных процедур запрещено или не рекомендуется (по моему опыту, «мы всегда такие вещи "закон во многих организациях", вы можете попробовать сделать редкую проверку, которая не включает эти папки, или (если это не работает) сконфигурировать вашу локальную сборку для генерации ее вывода в другом месте; самое большее, это означало бы иметь дело с одним файлом в списке изменений ignore-on-commit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...