Как пользоваться SVN сервером KolibriOS/ru
Предисловие
Многие люди не пользуются SVN-ом, как я понимаю, только потому что они не умеют им пользоваться. Им собственно и посвящается.
Работа в ОС Windows (используя GUI клиент)
Подготовка к работе
Наиболее простой известный мне способ для быстрого старта - это скачать уже ставшую известной программу TortoiseSVN Основные понятия при работе с SVN - это рабочая копия и репозиторий. Каждый разработчик имеет свою рабочую копию, которую он периодически заливает в репозиторий. Кому интересно больше могут проследовать по этой ссылке.
Checkout
Скачав и установив TortiosSVN, можно приступать к "извлечению" своей рабочей копии. Правой кнопкой мышки (далее ПКМ, левой соответственно ЛКМ…) в любой папке выбираем в появившемся контекстном меню пункт "SVN Checkout..." (или "SVN извлечь..." для счастливых обладателей русской версии"). Появится диалоговое окно
Вбиваем в поле "URL of repository" нужный линк (чтобы слить весь репозиторий проекта, надо указать svn://kolibrios.org) и нажимаем OK. На этом можно закончить. У вас должна появиться рабочая копия последней на данный момент ревизии. Замечу, что в последующем нет необходимости в повторении этих действий. Чтобы обновить рабочую копию до текущей актуально версии достаточно нажать ПКМ на папке с рабочей копией и выбрать пункт "SVN Update".
Commit
Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к mike.dld. Если ваши поправки не лишены здравого смысла, он с любезностью предоставит вам логин/пароль.
По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать рекомендации по внесению измений в код и правила форматирования кода. После внесения изменений значёк папки с рабочей копией изменит свой вид с на . Если вы создавали новые файлы, которые раньше отсутствовали в репозитории, их необходимо добавить под версионный контроль. С помощью TortoiseSVN это можно сделать через контекстное меню ("TortoiseSVN" -> "Добавить..."). Последним шагом будет выбор пункта "SVN Commit..." ("SVN фиксировать...") в контекстном меню папки с рабочей копией. Далее TortoisSVN предложит ввести вам логин и пароль. Если авторизация пройдёт успешно, ваши изменения попадут в репозиторий и станут доступны всем разработчикам при следующем checkout-е.
- Возможно, пока вы будете вносить свои изменения в исходный код, другой разработчик успеет сделать commit. Тогда TortoiseSVN оповестит вас об этом и предложит актуализировать вашу рабочую копию репозитория. Сделайте Checkout, как описано выше. Исли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.
Послесловие
Надеюсь, я всех убедил, что SVN - это просто. Для тех, кто экономит трафик, лучше выхода не придумаешь. Передаваемые по сети данные автоматически сжимаются, а при последующих обновлениях рабочей копии передаются лишь изменения, которые по обьёму занимают несопоставимо меньше места, чем полные исходники. Если во время скачки произойдёт разрыв соединений, то скачивать потом сначала не прийдётся. Достаточно будет сделать "SVN update", когда появится интернет, и недостающие данные докачаются сами.
Работа в ОС UNIX-like (используя GUI клиент)
Подготовка к работе
На данный момент есть несколько программ, позволяющих работать с SVN. Те, которые мне удалось найти и установить: KDESvn (Qt3), eSvn (Qt3) и RapidSVN (wxWidgets). Так как заставить работать KDESvn мне не удалось (программа постоянно крэшится), она рассматриваться не будет.
Checkout
Работа в любой OC (используя консольный клиент)
Подготовка к работе
Для начала работы нужно скачать консольную версию SVN клиента. Для этого, заходим в раздел Downloads на официальном сайте и внимательно читаем, что там написано.
Так же желательно добавить в переменные среды операционной системы(например, у Windows это Path) путь к папке с установленным консольным клиентом.
Checkout
erg
Commit
erg