Экспорт рабочей копии Subversion

Иногда вам может понадобится чистая копия вашего рабочего дерева без папки .svn, например, для создания файла архива ваших исходных кодов, или для экспорта на веб-сервер. Вместо того, чтобы выполнить копирование и затем вручную удалять папку .svn, TortoiseSVN предлагает команду TortoiseSVNЭкспорт.... Экспорт из источника, заданного адресом URL, и экспорт из рабочей копии, обрабатывается немного по-разному.

Рисунок 4.64. Диалог Экспорт-из-URL

Диалог Экспорт-из-URL


Если вы выполняете эту команду на неверсированной папке, TortoiseSVN предполагает, что выбранная папка является целевой, и открывает диалог для ввода URL и ревизии, из которых необходимо произвести экспорт. В этом диалоге присутствуют опции, при помощи которых можно экспортировать только папку верхнего уровня, пропустить внешние ссылки, и переопределить тип завершения строк для файлов, у которых установлено свойство svn:eol-style.

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

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

Другой способ сделать экспорт из рабочей копии - правое перетаскивание папки с рабочей копией в другое место и выбора Контекстное менюSVN Экспортировать версированные элементы сюда или Контекстное менюSVN Экспортировать все элементы сюда или Контекстное менюSVN Экспортировать изменённые элементы сюда. Второй пункт включает также и неверсированные файлы. Третий пункт экспортирует только изменённые файлы, но сохраняет структуру папок.

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

Экспортирование отдельных файлов

Диалог экспорта не позволяет экспортировать отдельные файлы, несмотря на то, что Subversion это может.

Для экспорта отдельных файлов в TortoiseSVN вы должны использовать обозреватель хранилища («Обозреватель хранилища»). Просто перетащите файл (файлы), которые вы желали бы экспортировать, из обозревателя хранилища в Проводник, поместив их туда, куда надо, или воспользуйтесь для экспорта файлов контекстным меню обозревателя хранилища.

Экспортирование дерева изменений

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

Если вы хотите экспортировать дерево структуры вашей рабочей копии, но содержащую только локально изменённые файлы, то см. выше SVN Экспортировать изменённые элементы сюда.

Выведение рабочей копии из-под управления версиями

Иногда возникает задача преобразовать рабочую копию обратно в нормальную папку без директории .svn. Всё что вам надо сделать — это удалить директорию .svn в корне рабочей копии.

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