2009-09-01 4 views
4

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

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

Предпочтительно, используя Черепаху, а не из командной строки ...

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

ответ

3

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

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

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

TortoiseSVN также поддерживает checkout depth в графическом интерфейсе.

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

4

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

svn update --set-depth=exclude www 

Примеры могут быть найдены in the blog.

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

+0

можно в TSVN. Попробуйте выполнить команду «Обновить до версии». Затем выберите каталоги, которые вы/не хотите. Он «удалит» неконтролируемые каталоги из вашей рабочей копии! –

1

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

Смежные вопросы