SVN: предотвращение обновления поддиректории? - PullRequest
4 голосов
/ 01 сентября 2009

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

Возможно, в идеале они были бы в своем собственном репо, но это не вариант для меня ... есть ли способ заставить SVN не включать этот каталог при обновлении всего рабочего каталога, но позволит мне вручную обновить этот суб-каталог, если я хочу каждую неделю или около того?

Желательно использовать черепаху, а не командную строку ...

ps: я пытался использовать ignore, но он почему-то, казалось, удалял подкаталог ... хотя, возможно, я делал это неправильно.

Ответы [ 3 ]

4 голосов
/ 01 сентября 2009

В Subversion 1.6 добавлена ​​новая функция, названная Исключение из Spare Directory (что даже лучше, чем --depth из 1.5), так как вы можете напрямую указать, какой каталог вы не хотите обновлять в одна команда.

svn update --set-depth=exclude www

Примеры можно найти в блоге .

Я действительно не знаю, как это будет работать в черепахе (и я предполагаю, что это невозможно).

3 голосов
/ 01 сентября 2009

Да, вы можете использовать новую функцию Subversion (версия 1.5) --depth . Вы можете сделать это так:

  • Проверьте корневой каталог вашего проекта с --depth immediates
  • Для всех каталогов , за исключением , которые вы хотите исключить, проверьте эти каталоги без опции --depth (или, что эквивалентно, --depth infinity)

Subversion запомнит ваши настройки глубины, поэтому, когда вы делаете update из корневого каталога проекта, пропущенный каталог (с большими файлами) будет пропущен.

TortoiseSVN также поддерживает глубина извлечения из GUI.

Также обратите внимание, что, хотя клиент Subversion версии 1.5 или новее будет поддерживать вышеуказанные опции, для эффективной работы сервер также должен быть обновлен до версии 1.5 или новее. В противном случае, поскольку сервер не понимает запрос --depth, клиент будет запрашивать все и отфильтровывать обновления на стороне клиента. Очевидно, это не решит проблему обновлений, которая занимает слишком много времени.

1 голос
/ 01 сентября 2009

не могли бы вы просто добавить svn: ignore?

...