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 желаемой версии
(хотя обычно это |
$ 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.