понедельник, 22 июля 2013 г.

Краткий справочник svn (subversion)

svn checkout http://repository.url/svn/name — извлекаем файлы проекта из репозитория, сокращение: svn co;
svn update — получаем обновления из репозитория, сокращение: svn up;
svn update -r rev_num ./file_name — извлекаем ревизию файла с номером rev_num;
svn add ./file_name — добавляем файл в репозиторий (не важно текстовый или бинарный);
svn commit ./file_name — заливаем файл в репозиторий (не важно текстовый или бинарный);
svn rename ./old_file_name ./new_file_name — переименовываем файл в репозитории;
svn remove ./file_name — удаляем файл/директорию из репозитория;
svn status — просматриваем локально измененные файлы, сокращение: svn st;
svn status -u — просматриваем локально измененные и изменившиеся в репозитории файлы, сокращение: svn st -u;
svn diff ./file_name — показывает локальные изменения в файле построчно;
svn diff -r rev_num1:rev_num2 ./file_name — показывает различия между ревизией rev_num1 и rev_num2 файла;
svn revert ./file_name — откатывает локальные изменения файла (выгружает из репозитория последнюю закоммиченную ревизию);
svn revert -R ./ — откатывает все локальные изменения файлов;
svn log ./file_name — список ревизий с комментариями;
svn blame ./file_name — показывает авторов изменений файла построчно, синоним: svn annotate;
svn propset svn:ignore ./file_name . — добавляем файл в список игнорируемых файлов;
svn propset svn:keywords "Id Author Date" ./file_name — установка атрибутов файла;
svn cleanup — снимает блокировки с файлов;
svn unlock http://repository.url/svn/file_name — снять блокировку файла (URL можно узнать с помощью команды svn info ./file_name | grep URL, его и нужно передавать в svn unlock);
svnadmin setlog --bypass-hooks /path/to/repository -r rev_num ./commit_text_file — заменяет текстовое описание коммита, где rev_num — номер ревизии, commit_text_file — путь к файлу, содержащему новый комментарий к коммиту;
svn help command_name — выводит помощь по команде command_name, например, «svn help update»;
svn merge -r rev_to_rollback:rev_good ./file_name — откатываем ревизию номер rev_to_rollback до ревизии rev_good, причем все изменения старше rev_to_rollback сохраняются (Например, у файла есть ревизии 11,12 и 13. Хотим откатить 12-ую ревизию, но так, что бы изменения 13-ой остались в силе. Делаем тогда так: svn merge -r 12:11 ./file_name);
svn copy http://repository.url/svn/name/trunk/ http://repository.url/svn/name/branches/new_branch_name/ — создаем ветку с названием new_branch_name из главной линии разработки;
svn merge --dry-run -r rev_num1:rev_num2 http://repository.url/svn/name/trunk/ — проверяем, что будет изменено при объединении веток, где rev_num1 — номер ревизии, когда ваша ветка была «открыта», или это м.б. номер предыдущего объединения (слияния), rev_num2 — версия главной линии разработки, с которой производим объединение. Необходимо отметить, что все изменения будут применены для директории, в которой выполнялась эта команда;
svn merge -r rev_num1:rev_num2 http://repository.url/svn/name/trunk/ — синхронизирует вашу ветку с главной линией разработки с учетом ревизий: rev_num1 — номер ревизии, когда ваша ветка была «открыта», или это м.б. номер предыдущего объединения (слияния), rev_num2 — версия главной линии разработки, с которой производим объединение. Необходимо отметить, что все изменения будут применены для директории, в которой выполнялась эта команда;


add — Добавляет файлы, директории и символические связи, помечая их для последующего внесения в хранилище. Будучи помеченными, они закачиваются и добавляются в хранилище при первом же закреплении изменений. Если вы что-то добавили, но потом передумали до закрепления, то снять метку добавления можно подкомандой svn revert.
svn add PATH…
$ svn add testdir

blame (praise, annotate, ann) — Построчно показывает автора и редакцию для указанных файлов или URL-ов. Каждая строка текста начинается с имени автора (имени пользователя) и номера редакции. Таким образом указывается кто и когда изменял эту строку последний раз.
svn blame TARGET[@REV]…
$ svn blame http://svn.red-bean.com/repos/test/readme.txt

cat — Выводит содержимое указанных файлов или URL-ов. Для перечисления содержимого каталогов используйте svn list.
svn cat TARGET[@REV]…
$ svn cat http://svn.red-bean.com/repos/test/readme.txt

checkout (co) — Создает рабочую копию на основе данных в хранилище. Если PATH пропущен, базовое имя URL будет использоваться в качестве имени для каталога рабочей копии. Если задано несколько URL, соответствующие копии будут создаваться в подкаталоге PATH, каждая в своем каталоге образованом из базового имени URL.
svn checkout URL[@REV]… [PATH]
svn checkout svn://svn.ru2web.ru/ru2web/branches/www-01/ /usr/home/vasia/ru2web.ru/app/

cleanup — Рекурсивно чистит рабочую копию, удаляя блокировки оставшиеся от незавершенных операций. Как только столкнетесь с ошибкой «рабочая копия заблокирована», запустите эту подкоманду для удаления старых блокировок и приведения рабочей копии в работоспособное состояние.

Если по некоторым причинам операция по команде svn update провалилась из-за проблем с запущенным внешней программой различий (например, что-то не то в ней нажал или произошел сбой сети), нужно задать параметр —diff3-cmd чтобы дать возможность при чистке копии завершить все объединяния используя внешнюю программу различий. Вы также можете указать конфигурационный каталог посредством параметра —config-dir, но постарайтесь не злоупотреблять этими параметрами.

commit (ci) — Посылает сделанные вами изменения рабочей копии в хранилище для их сохранения в нем. Если вы не воспользовались ни —file, ни —message параметром, svn запустит внешний редактор для составления комментария. Прочтите описание параметра editor-cmd в «Config».
svn commit вышлет храшилищу все рекурсивно найденные метки блокировок и разблокирует соответсвующие этим меткам ресурсы, если не был указан параметр —no-unlock. «Район поиска» задается указанием PATH.
svn commit [PATH...]

copy (cp) — Копирует файл в рабочей копии или в хранилище. SRC и DST могут быть путями как внутри рабочей копии, так и URL внутри хранилища.
svn copy SRC DST

delete (del, remove, rm) — Удаление элемента из рабочей копии или репозитория.
svn delete PATH…
svn delete URL…

diff (di) — Показывает различия между рабочей копией и репозиторием.
$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500

export — Экспорт чистого дерева каталогов (без .svn папок).

help (?, h) — Помощь.

import — Фиксация неверсированного файла или дерева в хранилище.
svn import [PATH] URL

info — Отображение информации о локальном или удаленном элементе.
svn info [TARGET...]

list (ls) — Список каталогов в хранилище.
svn list [TARGET[@REV]…]
$ svn list http://svn.red-bean.com/repos/test/support

lock — Блокировка рабочей копии в хранилище, так что никакой другой пользователь не может вносить изменения в данному пути.
svn lock TARGET…
$ svn lock tree.jpg house.jpg

log — Показать сообщения журнала.
svn log [PATH]
svn log URL [PATH...]
$ svn log

merge — Применить различия между двумя источниками.
$ svn merge -r 250:HEAD http://svn.red-bean.com/repos/branches/my-branch

mkdir — Создать каталог в хранилище с контролем версий.
$ svn mkdir newdir

move (mv, rename, ren) — Перемещение файла или директории.
svn move SRC DST

propdel (pdel, pd) — Удаление свойств из файлов, каталогов или ревизий.
svn propdel PROPNAME [PATH...]
svn propdel PROPNAME —revprop -r REV [URL]

propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)

resolved — Удалить «конфликты» на рабочую копию файлов или каталогов.
svn resolved PATH…

revert — Отменить все локальные изменения.
$ svn revert myprj.phtml

status (stat, st) — Статус рабочей копии файлов или каталогов.
$ svn status wc

switch (sw) — Обновление рабочей копии на другой URL.

unlock — Разблокировка рабочей копии.

update (up) — Обновление вашей рабочей копии.

Комментариев нет:

Отправить комментарий