edit : Subversion 1.6 была выпущена. Из заметок о выпуске:
В Subversion 1.6 --setset глубина
параметр для обновления SVN вырос
новое значение - исключить. Это значение говорит
Subversion для исключения цели из
рабочая копия, сразу и
до дальнейшего уведомления. До
Subversion 1.6, если каталог может
не легко быть удаленным из рабочего
копия. ...
Все, что ниже, сейчас устарело.
Вы можете ограничить глубину папок в вашей рабочей копии в нужных местах, чтобы нежелательные файлы не отображались как версионные файлы. Вы не можете уменьшить глубину в существующей рабочей копии.
1) Оформить чистую рабочую копию, как эта (она будет содержать только файлы и пустые папки в корневом каталоге):
svn co --depth немедленный repoURL
/ Некоторые / туалет / путь
2) Теперь для каждой папки, которую вы не хотите игнорировать, извлеките содержимое с помощью
svn update --depth infinity /some/good/path
Если папка с игнорируемым содержимым находится не в корне вашей рабочей копии, вы можете постепенно переходить вниз по дереву с повторными вызовами
svn update --depth immediates /some/path/to/make/deeper
Этот подход имеет недостаток. Если игнорируемые файлы появляются в вашей рабочей копии в результате ваших собственных действий (например, сборки), они будут отображаться в статусе svn как неверсированные файлы. Вы даже можете svn добавить их и вызвать ошибки «файл уже существует».
edit: Видимо, вы МОЖЕТЕ уменьшить глубину частей вашей рабочей копии, что намного проще:
- нормальная проверка проекта (или начало
из существующей рабочей копии)
- удалить нежелательную папку (нормально
удаление файловой системы, а не svn rm). На данный момент папка отсутствует и вернется со всем ее злым содержанием, если вы сделали нормальное обновление.
- вернуть папку с
svn update --depth empty
/ Путь / где / удален / папка / был
Теперь вы можете выполнить svn-обновление всего проекта, но плохое содержимое не вернется.