Для получения рабочей копии вам надо произвести извлечение из хранилища.
Выберите в Проводнике Windows папку, в которой хотите разместить вашу рабочую копию. Сделайте правый щелчок для вызова контекстного меню и выберите команду → , после чего появится следующий диалог:
Если ввести имя пока ещё несуществующей папки, то она будет создана.
Вы можете выбрать глубину охвата при извлечении, определяющую глубину рекурсии для дочерних папок. Если вам необходимы всего лишь несколько разделов большого дерева, вы можете извлечь только папку верхнего уровня, после чего обновить выбранные папки рекурсивно.
Извлекает всё дерево целиком, включая все дочерние папки и подпапки.
Извлекает указанную папку, включая все файлы и дочерние папки, но не включая содержимое дочерних папок.
Извлекает указанную папку, включая все файлы, но не включая дочерние папки.
Извлекает только указанную папку. Не извлекает в неё файлы и дочерние папки.
Сохраняет глубину, указанную в рабочей копии. Этот параметр не используется в диалоге извлечения, но является используемым по умолчанию во всех других диалогах, в которых присутствует глубина охвата.
Если вы извлекли разреженную рабочую копию (т.е. выбрали для глубины извлечения значение, отличное от полностью рекурсивно), вы можете получить дополнительные неизвлечённые подпапки, используя обозреватель хранилища («Обозреватель хранилища») или диалог проверки на наличие изменений («Локальный и удалённый статус»).
При использовании обозревателя хранилища: выполните правый щелчок на извлечённой папке, после чего вызовите → . Найдите подпапку, которую вы желали бы добавить в рабочую копию, и выберите → . Этот пункт меню будет виден, только если выбранный элемент пока ещё не существует в вашей рабочей копии, при том, что его родительская папка уже была извлечена.
В диалоге проверки на наличие изменений, сначала нажмите кнопку . Все существующие в хранилище файлы и папки, которые пока ещё не были вами извлечены, будут показаны в диалоге как добавлен отдалённо. Выполните правый щелчок на папке (папках), которую вы желали бы добавить в вашу рабочую копию, и примените команду → .
Эта возможность очень полезна, когда вы желаете извлечь только некоторые части из большого дерева, но при этом желаете сохранить удобство обновления одной рабочей копии. Предположим, у вас есть большое дерево, в котором есть подпапки от Проект01 до Проект99, и вы желаете извлечь только Проект03, Проект25 и Проект76/ПодПроект. Выполните следующие шаги:
Извлеките родительскую папку с глубиной «Только этот элемент» Теперь у вас еть пустая папка верхнего уровня.
Выберите новую папку и воспользуйтесь пунктом → для отображения содержимого хранилища.
Выполните правый щелчок на Проект03 и → . Не изменяя настройки по умолчанию, нажмите на . Теперь эта папка у вас полностью заполнена.
Повторите ту же процедуру для Проект25.
Перейдите к Проект76/ПодПроект и сделайте то же самое. На этот раз обратите внимание, что в папке Проект76 нет ничего, кроме ПодПроект, который полностью заполнен. Subversion создала для вас все промежуточные папки, не заполняя их.
После того, как вы извлекли рабочую копию на определённую глубину, вы позже можете увеличить глубину извлечения для получения дополнительного содержимого. Однако, вы не можете уменьшить эту глубину, чтобы убрать лишнее содержимое. Возможно, эта возможность будет добавлена в более позних версиях Subversion.
Серверы версий до 1.5 не понимают запросов глубины рабочей копии, поэтому они не всегда могут эффективно обработать такие запросы. Команда по-прежнему будет работать, но более старый сервер может отправить все данные, оставляя клиенту заботу отфильтровывать то, что не требуется, и что может означать передачу большого количества данных по сети. По возможности, обновите свой сервер до версии 1.5.
Если проект содержит ссылки на внешние проекты, которые вы не хотите извлекать в этот раз, используйте флажок Пропустить внешние
Если отмечен флажок Пропустить внешние, или если вы желаете изменить значение глубины, то вы должны будете выполнить обновление вашей рабочей копии с использованием команды → вместо → . Стандартное обновление включает все внешние ссылки и сохраняет существующее значение глубины.
Рекомендуется извлекать только ствол (trunk) из дерева папок, или его подветку. Если вы в URL укажете родительский путь для дерева папок, это может привести к полному заполнению вашего жёсткого диска, поскольку вы получите копию всего дерева хранилища, включая каждое ответвление и метку вашего проекта!
Иногда бывает необходимо создать локальную копию без всех этих папок .svn, например, для создания запакованного архиватором файла (zipped tarball) исходного кода. Прочтите «Экспорт рабочей копии Subversion», чтобы узнать, как это сделать.