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