Как пользоваться SVN сервером KolibriOS/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(21 intermediate revisions by 13 users not shown)
Line 1: Line 1:
==Бредисловие==
==Предисловие==
Многие люди не пользуются SVN-ом, как я понимаю, только потому что они не умеют им пользоваться. Им собственно и посвящается.  
Многие люди не пользуются SVN-ом, как я понимаю, только потому что они не умеют им пользоваться. Им собственно и посвящается.
 
'''Чтение этой статьи не заменит вам изучение официального мануала (есть [http://svnbook.red-bean.com/index.ru.html перевод на русский])!'''


==Работа в ОС Windows (используя GUI клиент)==
==Работа в ОС Windows (используя GUI клиент)==
Line 6: Line 8:
===Подготовка к работе===
===Подготовка к работе===
Наиболее простой известный мне способ для быстрого старта - это скачать уже ставшую известной программу [http://tortoisesvn.net/downloads TortoiseSVN]
Наиболее простой известный мне способ для быстрого старта - это скачать уже ставшую известной программу [http://tortoisesvn.net/downloads TortoiseSVN]
Основные понятия при работе с SVN - это рабочая копия и репозиторий. Каждый разработчик имеет свою рабочую копию, которую он периодически заливает в репозиторий. Кому интересно больше могут проследовать по этой [http://svnbook.red-bean.com/nightly/ru/svn-book.html ссылке] .  
Основные понятия при работе с SVN - это рабочая копия и репозиторий. Каждый разработчик имеет свою рабочую копию, которую он периодически заливает в репозиторий. Кому интересно больше могут проследовать по этой [http://svnbook.red-bean.com/nightly/ru/svn-book.html ссылке].


===Checkout===
===Checkout===
Скачав и установив TortiosSVN, можно приступать к "извлечению" своей рабочей копии. Правой кнопкой мышки (далее ПКМ, левой соответственно ЛКМ…) в любой папке выбираем в появившемся контекстном меню пункт "SVN Checkout..." (или "SVN извлечь..." для счастливых обладателей русской версии"). Появится диалоговое окно
Скачав и установив TortioseSVN, можно приступать к "извлечению" своей рабочей копии. Правой кнопкой мышки (далее ПКМ, левой соответственно ЛКМ…) в любой папке выбираем в появившемся контекстном меню пункт "SVN Checkout..." (или "SVN извлечь..." для счастливых обладателей русской версии"). Появится диалоговое окно
[[Image:svn_checkout.jpg|center|Диалог выгрузки репозитория]]
[[Image:svn_checkout.jpg|center|Диалог выгрузки репозитория]]


Вбиваем в поле "URL of repository" нужный линк (чтобы слить весь репозиторий проекта, надо указать svn://kolibrios.org) и нажимаем OK. На этом можно закончить. У вас должна появиться рабочая копия последней на данный момент ревизии.  
Вбиваем в поле "URL of repository" нужный линк (чтобы слить весь репозиторий проекта, надо указать svn://kolibrios.org) и нажимаем OK. На этом можно закончить. У вас должна появиться рабочая копия последней на данный момент ревизии.  
Замечу, что в последующем нет необходимости в повторении этих действий. Чтобы обновить рабочую копию до текущей актуально версии достаточно нажать ПКМ на папке с рабочей копией и выбрать пункт "SVN Update".  
Замечу, что в последующем нет необходимости в повторении этих действий. Чтобы обновить рабочую копию до текущей актуально версии достаточно нажать ПКМ на папке с рабочей копией и выбрать пункт "SVN Update".


===Commit===
===Commit===
Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к [[User:Mike.dld|mike.dld]]. Если ваши поправки не лишены здравого смысла, он с любезностью предоставит вам логин/пароль.
Для внесения своих изменений в репозиторий необходмо обзавестись аккаунтом на svn-е. По вопросом с аккаунтами на svn обращайтесь к '''[http://board.kolibrios.org/memberlist.php?mode=viewprofile&u=4152 CleverMouse]''' или '''[http://board.kolibrios.org/memberlist.php?mode=viewprofile&u=4147 XVilka]'''. Если ваши поправки не лишены здравого смысла, они с любезностью предоставят вам логин/пароль.


По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать [[Внесение изменений в ядро|рекомендации по внесению измений в код]] и [[правила форматирования кода]]. После внесения изменений значёк папки с рабочей копией изменит свой вид с [[Image:Svn_ok.JPG]] на [[Image:Svn_changed.JPG]]. Если вы создавали новые файлы, которые раньше отсутствовали в репозитории, их необходимо добавить под версионный контроль. С помощью TortoiseSVN это можно сделать через контекстное меню ("TortoiseSVN" -> "Добавить..."). Последним шагом будет выбор пункта "SVN Commit..." ("SVN фиксировать...") [[Image:Svn_tortoise_context_menu.JPG]] в контекстном меню папки с рабочей копией. Далее TortoisSVN предложит ввести вам логин и пароль. Если авторизация пройдёт успешно, ваши изменения попадут в репозиторий и станут доступны всем разработчикам при следующем checkout-е.
По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать [[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, как описано выше. Исли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.''
*''Возможно, пока вы будете вносить свои изменения в исходный код, другой разработчик успеет сделать commit. Тогда TortoiseSVN оповестит вас об этом и предложит актуализировать вашу рабочую копию репозитория. Сделайте Checkout, как описано выше. Eсли ваши изменения не пересекаются, то вы сможете сразу сделать commit. TortoiseSVN располагает всеми необходимыми средствами для разрешения конфликтов.''


===Послесловие===
===Послесловие===
Line 26: Line 28:
==Работа в ОС UNIX-like (используя GUI клиент)==
==Работа в ОС UNIX-like (используя GUI клиент)==


Пока что не написано, добавлю, как приеду в Минск.
===Подготовка к работе===
--[[Участник:Mike.dld|mike.dld]] 11:29, 22 августа 2007 (UTC)
На данный момент есть несколько программ, позволяющих работать с 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===
 


==Работа в любой OC (используя консольный клиент)==
==Работа в любой OC (используя консольный клиент)==


Пока что не написано, добавлю, как приеду в Минск.
===Подготовка к работе===
--[[Участник:Mike.dld|mike.dld]] 11:29, 22 августа 2007 (UTC)
 
Для начала работы нужно скачать консольную версию SVN клиента. Для этого, заходим в раздел [http://subversion.tigris.org/project_packages.html Downloads] на официальном сайте и внимательно читаем, что там написано.
 
Так же желательно добавить в переменные среды операционной системы(например, у Windows это Path) путь к папке с установленным консольным клиентом.
 
===Checkout===
Выполнить команду:
----
'''svn co svn://kolibrios.org'''<br>
----
где<br>
'''svn''' - сама программа<br>
'''co''' или '''checkout''' - это команда для создания среза репозитория.<br>
'''svn://kolibrios.org''' - адрес репозитория в интернете.<br>
'''kolibrios.svn''' - папка куда будет сохраняться срез.
 
===Update===
Перейти в папку с предворительно снятым срезом репозитория и выполнить команду:
----
'''svn up'''<br>
----
где<br>
'''svn''' - сама программа<br>
'''up''' или '''update''' - это команда для обновление до последней ревизии репозитория.
 
<!--
===Commit===
 
erg
-->


==См. также==
==См. также==
Line 39: Line 75:
#[http://svnbook.red-bean.com/index.ru.html Управление версиями в Subversion]
#[http://svnbook.red-bean.com/index.ru.html Управление версиями в Subversion]
#[http://meos.sysbin.com/viewtopic.php?t=711 Оригинал статьи]
#[http://meos.sysbin.com/viewtopic.php?t=711 Оригинал статьи]
[[Category:Руководства]]

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. Если ваши поправки не лишены здравого смысла, они с любезностью предоставят вам логин/пароль.

По предыдущему шагу мы научились извлекать рабочую копию. В этой самой рабочей копии необходимо сделать необходимые изменения (отредактировать исходный код проекта). Прежде чем приступать к изменениям, неплохо было бы почитать рекомендации по внесению измений в код и правила форматирования кода. После внесения изменений значок папки с рабочей копией изменит свой вид с Svn ok.JPG на Svn changed.JPG. Если вы создавали новые файлы, которые раньше отсутствовали в репозитории, их необходимо добавить под версионный контроль. С помощью TortoiseSVN это можно сделать через контекстное меню ("TortoiseSVN" -> "Добавить..."). Последним шагом будет выбор пункта "SVN Commit..." ("SVN фиксировать...") Svn tortoise context menu.JPG в контекстном меню папки с рабочей копией. Далее 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 - это команда для обновление до последней ревизии репозитория.


См. также

  1. TortiosSVN
  2. Subversion
  3. Управление версиями в Subversion
  4. Оригинал статьи