Как пользоваться SVN сервером KolibriOS/ru: Difference between revisions
m (fix program name) |
mNo edit summary |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 18: | Line 18: | ||
===Commit=== | ===Commit=== | ||
Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к [[ | Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к '''[http://board.kolibrios.org/memberlist.php?mode=viewprofile&u=4152 CleverMouse]''' или '''[http://board.kolibrios.org/memberlist.php?mode=viewprofile&u=4147 XVilka]'''. Если ваши поправки не лишены здравого смысла, они с любезностью предоставят вам логин/пароль. | ||
По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать [[ | По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать [[How to modify the kernel/ru|рекомендации по внесению измений в код]] и [[Style/ru|правила форматирования кода]]. После внесения изменений значок папки с рабочей копией изменит свой вид с [[Image:Svn_ok.JPG]] на [[Image:Svn_changed.JPG]]. Если вы создавали новые файлы, которые раньше отсутствовали в репозитории, их необходимо добавить под версионный контроль. С помощью TortoiseSVN это можно сделать через контекстное меню ("TortoiseSVN" -> "Добавить..."). Последним шагом будет выбор пункта "SVN Commit..." ("SVN фиксировать...") [[Image:Svn_tortoise_context_menu.JPG]] в контекстном меню папки с рабочей копией. Далее TortoiseSVN предложит ввести вам логин и пароль. Если авторизация пройдёт успешно, ваши изменения попадут в репозиторий и станут доступны всем разработчикам при следующем checkout-е. | ||
*''Возможно, пока вы будете вносить свои изменения в исходный код, другой разработчик успеет сделать commit. Тогда TortoiseSVN оповестит вас об этом и предложит актуализировать вашу рабочую копию репозитория. Сделайте Checkout, как описано выше. Eсли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.'' | *''Возможно, пока вы будете вносить свои изменения в исходный код, другой разработчик успеет сделать commit. Тогда TortoiseSVN оповестит вас об этом и предложит актуализировать вашу рабочую копию репозитория. Сделайте Checkout, как описано выше. Eсли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.'' | ||
Line 30: | Line 30: | ||
===Подготовка к работе=== | ===Подготовка к работе=== | ||
На данный момент есть несколько программ, позволяющих работать с SVN. Те, которые мне удалось найти и установить: [http://kdesvn.alwins-world.de/ KDESvn] (Qt3), [http://zoneit.free.fr/esvn/ eSvn] (Qt3) и [http://rapidsvn.tigris.org/ RapidSVN] (wxWidgets). Так как заставить работать KDESvn мне не удалось (программа постоянно крэшится), она рассматриваться не будет. | На данный момент есть несколько программ, позволяющих работать с SVN. Те, которые мне удалось найти и установить: [http://kdesvn.alwins-world.de/ KDESvn] (Qt3), [http://zoneit.free.fr/esvn/ eSvn] (Qt3) и [http://rapidsvn.tigris.org/ RapidSVN] (wxWidgets). Так как заставить работать KDESvn мне не удалось (программа постоянно крэшится), она рассматриваться не будет. | ||
'''RapidSVN''' проверен под Ubuntu 10.4 - устанавливается и работает под Гномом без заморочек. Единственный глюк: если у Вас уже был установлен пакет Subversion (см. ниже) с опциями командной строки - перенести готовые настройки в RapidSVN не удается - приходится заново создавать параллельный срез репозитория. Для полноценной работы требуется указать в меню ''View/Preferences/Program''s внешний редактор (напр. gedit), браузер и компаратор изменений ([http://meld.sourceforge.net/ meld]). | |||
===Checkout=== | ===Checkout=== | ||
Line 45: | Line 47: | ||
Выполнить команду: | Выполнить команду: | ||
---- | ---- | ||
'''svn co | '''svn co svn://kolibrios.org'''<br> | ||
---- | ---- | ||
где<br> | где<br> | ||
'''svn''' - сама программа<br> | '''svn''' - сама программа<br> | ||
'''co''' или '''checkout''' - это команда для создания среза репозитория.<br> | '''co''' или '''checkout''' - это команда для создания среза репозитория.<br> | ||
''' | '''svn://kolibrios.org''' - адрес репозитория в интернете.<br> | ||
'''kolibrios.svn''' - папка куда будет сохраняться срез. | '''kolibrios.svn''' - папка куда будет сохраняться срез. | ||
Latest revision as of 10:56, 21 January 2023
Предисловие
Многие люди не пользуются SVN-ом, как я понимаю, только потому что они не умеют им пользоваться. Им собственно и посвящается.
Чтение этой статьи не заменит вам изучение официального мануала (есть перевод на русский)!
Работа в ОС Windows (используя GUI клиент)
Подготовка к работе
Наиболее простой известный мне способ для быстрого старта - это скачать уже ставшую известной программу TortoiseSVN Основные понятия при работе с SVN - это рабочая копия и репозиторий. Каждый разработчик имеет свою рабочую копию, которую он периодически заливает в репозиторий. Кому интересно больше могут проследовать по этой ссылке.
Checkout
Скачав и установив TortioseSVN, можно приступать к "извлечению" своей рабочей копии. Правой кнопкой мышки (далее ПКМ, левой соответственно ЛКМ…) в любой папке выбираем в появившемся контекстном меню пункт "SVN Checkout..." (или "SVN извлечь..." для счастливых обладателей русской версии"). Появится диалоговое окно
Вбиваем в поле "URL of repository" нужный линк (чтобы слить весь репозиторий проекта, надо указать svn://kolibrios.org) и нажимаем OK. На этом можно закончить. У вас должна появиться рабочая копия последней на данный момент ревизии. Замечу, что в последующем нет необходимости в повторении этих действий. Чтобы обновить рабочую копию до текущей актуально версии достаточно нажать ПКМ на папке с рабочей копией и выбрать пункт "SVN Update".
Commit
Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к CleverMouse или XVilka. Если ваши поправки не лишены здравого смысла, они с любезностью предоставят вам логин/пароль.
По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать рекомендации по внесению измений в код и правила форматирования кода. После внесения изменений значок папки с рабочей копией изменит свой вид с на . Если вы создавали новые файлы, которые раньше отсутствовали в репозитории, их необходимо добавить под версионный контроль. С помощью TortoiseSVN это можно сделать через контекстное меню ("TortoiseSVN" -> "Добавить..."). Последним шагом будет выбор пункта "SVN Commit..." ("SVN фиксировать...") в контекстном меню папки с рабочей копией. Далее TortoiseSVN предложит ввести вам логин и пароль. Если авторизация пройдёт успешно, ваши изменения попадут в репозиторий и станут доступны всем разработчикам при следующем checkout-е.
- Возможно, пока вы будете вносить свои изменения в исходный код, другой разработчик успеет сделать commit. Тогда TortoiseSVN оповестит вас об этом и предложит актуализировать вашу рабочую копию репозитория. Сделайте Checkout, как описано выше. Eсли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.
Послесловие
Надеюсь, я всех убедил, что SVN - это просто. Для тех, кто экономит трафик, лучше выхода не придумаешь. Передаваемые по сети данные автоматически сжимаются, а при последующих обновлениях рабочей копии передаются лишь изменения, которые по обьёму занимают несопоставимо меньше места, чем полные исходники. Если во время скачки произойдёт разрыв соединений, то скачивать потом сначала не прийдётся. Достаточно будет сделать "SVN update", когда появится интернет, и недостающие данные докачаются сами.
Работа в ОС UNIX-like (используя GUI клиент)
Подготовка к работе
На данный момент есть несколько программ, позволяющих работать с SVN. Те, которые мне удалось найти и установить: KDESvn (Qt3), eSvn (Qt3) и RapidSVN (wxWidgets). Так как заставить работать KDESvn мне не удалось (программа постоянно крэшится), она рассматриваться не будет.
RapidSVN проверен под Ubuntu 10.4 - устанавливается и работает под Гномом без заморочек. Единственный глюк: если у Вас уже был установлен пакет Subversion (см. ниже) с опциями командной строки - перенести готовые настройки в RapidSVN не удается - приходится заново создавать параллельный срез репозитория. Для полноценной работы требуется указать в меню View/Preferences/Programs внешний редактор (напр. gedit), браузер и компаратор изменений (meld).
Checkout
Работа в любой OC (используя консольный клиент)
Подготовка к работе
Для начала работы нужно скачать консольную версию SVN клиента. Для этого, заходим в раздел Downloads на официальном сайте и внимательно читаем, что там написано.
Так же желательно добавить в переменные среды операционной системы(например, у Windows это Path) путь к папке с установленным консольным клиентом.
Checkout
Выполнить команду:
svn co svn://kolibrios.org
где
svn - сама программа
co или checkout - это команда для создания среза репозитория.
svn://kolibrios.org - адрес репозитория в интернете.
kolibrios.svn - папка куда будет сохраняться срез.
Update
Перейти в папку с предворительно снятым срезом репозитория и выполнить команду:
svn up
где
svn - сама программа
up или update - это команда для обновление до последней ревизии репозитория.