Создание комплексной метки
Иногда вам будет необходим более сложный «снимок», чем одна единственная директория в одной правке.
Например, представим, что ваш проект гораздо больше, чем наш пример calc: допустим он содержит несколько поддиректорий и на много больше файлов. В процессе работе вам может понадобиться создать рабочую копию, содержащую конкретную функциональность и исправленные ошибки. Добиться этого вы можете выборочно возвращая файлы или директории к конкретной правке (используя svn update -r по мере необходимости) или переключая файлы или директории на отдельные ветки (применяя svn switch). По завершении рабочаяя копия будет представлять собой мешанину различных директорий и правок хранилища. После проверки вы поймете, что вам нужна именно такая комбинация.
Время создавать снимок. Копирование одного URL в другой здесь не пройдет. Здесь нужно сделать и сохранить в хранилище снимок именно такой структуры которую имеет рабочая копия. К счастью, svn copy имеет четыре способа использования (о которых вы можете прочитать в Главе 9), включая возможность копировать в хранилище дерево рабочей копии:
$ ls my-working-copy/ $ svn copy my-working-copy http://svn.example.com/repos/calc/tags/mytag Committed revision 352.Теперь в хранилище есть новая директория /calc/tags/mytag которая является полным отражением рабочей копии — смешанные правки, URL, и тому подобное.
Некоторые пользователи находят интересное применение этой возможности. Иногда возникают ситуации, когда в вашей рабочей копии содержаться изменения, которые вы не хотите показывать соразработчику. Вместо запуска svn diff и передачи патч-файла (который не сможет отразить изменения в структуре файлов, измененные символьные ссылки или свойства), вы можете воспользоваться svn copy для «загрузки» рабочей копии в отдельную область хранилища. Ваш соразработчик может сделать либо чистую копию вашей рабочей копии, либо воспользоваться svn merge для получения именно ваших изменений.
Пред. | Уровень выше | След. |
Переключение рабочей копии | Содержание | Поддержка веток |