svn copy — Копирует файл или каталог в рабочей копии или хранилище.
Копирует файл в рабочей копии или в хранилище.
SRC
и
DST
могут быть путями как внутри
рабочей копии, так и URL внутри хранилища:
Планирует копирование объекта (вместе с историей).
Создает копию объекта из рабочей копии непосредственно в хранилище.
Выгружает копию объекта из хранилища в рабочую копию и планирует ее добавление.
Выполняет копирование объектов непосредственно в хранилище. Обычно используется для ветвления.
Вы можете копировать файлы только внутри одного хранилища. Subversion не поддерживает межхранилищного копирования.
Да, если копируемый объект или его копия расположены в хранилище, а так же если необходимо найти исходный номер редакции.
--message (-m) TEXT --file (-F) FILE --revision (-r) REV --quiet (-q) --username USER --password PASS --no-auth-cache --non-interactive --force-log --editor-cmd EDITOR --encoding ENC --config-dir DIR
Планирование копирования объекта внутри рабочей копии. Физическое копирование происходит после выполнения команды закрепления изменений:
$ svn copy foo.txt bar.txt A bar.txt $ svn status A + bar.txt
Копирование объекта из рабочей копии в хранилище по заданному URL. Изменения в хранилище вносятся незамедлительно (так что требуется прокомментировать свои действия):
$ svn copy near.txt file:///tmp/repos/test/far-away.txt -m "Remote copy." Committed revision 8.
Копирование объекта из хранилища в рабочую копию. Полученная копия планируется на добавление и возникнет в хранилище только после команды закрепления изменений:
Это рекомендованный способ воскрешать случайно удаленные из хранилища файлы!
$ svn copy file:///tmp/repos/test/far-away near-here A near-here
И наконец, копирование внутри хранилища:
$ svn copy file:///tmp/repos/test/far-away file:///tmp/repos/test/over-there -m "remote copy." Committed revision 9.
Это простейший способ «пометить» редакцию
в хранилище—просто выполните svn copy
желаемой редакции (хотя обычно это HEAD
)
в желаемый каталог.
$ svn copy file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease -m "tag tree" Committed revision 12.
Да, и не волнуйтесь, если забыли вовремя пометить редакцию—вы всегда можете сделать это сославшись на старую редакцию:
$ svn copy -r 11 file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease -m "Forgot to tag at rev 11" Committed revision 13.