?

Log in

No account? Create an account

Записки айтишника

Entries by category: техника

Основы Subversion
харёк
diffor
SVN, как и другие системы контроля версий, очень удобен при разработке программ. Например, можно отследить все изменения и откатить не понравившиеся; отпадает проблема синхронизации и объединения изменеий при коллективной разработке или индивидуальной на нескольких машинах (например ноутбук и десктоп); и многое другое.

Сначала определимся с понятиями.
Серверная копия (репозиторий) - серверная база, хранящая историю изменений, между отправкамит на сервер (коммитами). Состояние исходников на определённый коммит, называется ревизией (версией).
Рабочая копия - клиентская копия, с метаинформацией для svn. В ней и правятся исходники и после правки, изменения отправляются (коммитятся) на сервер, создавая новую ревизию.

Собственно команды:

svn checkout - создать рабочую копию, получив текущую ревизию с сервера. Пример: http://svn.altlug.ru/p/www_nix-files/ - создастся директория с именем www_nix-files, содержащая рабочую копию.
svn update
- обновить рабочую копию с сервера (получить изменения). Если в вашей рабочей копии и на сервере были изменения, произойдёт попытка их объеденить.
svn diff - посмотреть внесённые изменения в вашу рабочую копию.
svn commit
- отправить изменения на сервер, при этом будет создана новая ревизия.

svn add - добавить файл в рабочую копию. При commit файл будет отправлен на сервер. Пример: svn add trunk/TODO
svn rm - удалить файл из рабочей копии. При commit файл будет удалён из текущей ревизии на сервере. Пример: svn rm trunk/TODO
svn mv - переместить файл внутри репозитория. Пример: svn mv trunk/test.cpp trunk/src/module.cpp
svn revert - откатить изменения в файле из рабочей копии. Пример: svn revert trunk/main.cpp

Это далеко не полный список команд, но для начала вполне достаточно.