Online video hd

Смотреть 4k видео

Официальный сайт pepsilight 24/7/365

Смотреть видео бесплатно

Kraplax 26.02.2009 20:44

How-to`sНастройка SVN сервера и создание SVN репозитория

Намедни отключили меня за неуплату интернета. Ну, опомнился я только вечером, когда все уже закрыто, поэтому что еще делать когда ты оффлайн? Правильно, кодить =)

А для этого поставил перед собой такую задачу - создать свой сервер SVN и репозиторий для кода.

В поисках ответа

Внимание! Если вы не желаете читать то, как я добирался до этого сам - ныряйте вниз до следующего заголовка.

Пошарив в закромах я понял что у меня под рукой было следующее:

TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi
Slik-Subversion-1.5.4-win32.msi
subversion-mingw-1.5.0-svn-bin.zip

Это из залежей на Windows. Причем, последний архив предназначен для установки в KDE для Windows.

В Linux'е все еще скромнее - установлен пакет subversion. Все :/

Хм... поглядим что можно из этого сварить при условии что интернета нет и гуглить не получится.



Для начала как обычно посмотрел что там доступно под Linux, что при этом начиналось бы с svn. Заинтересовала утилита svnadmin. Когда я понял что особо толку от 'svnadmin help' не будет, то первым делом поглядел в ман. Разочаровался. Такого почти бесполезного мана я еще не видел :(

кстати, 'svnadmin help' дал мне достаточно информации по которой я даже, как позже выяснилось, смог сделать первый свой репозиторий:

1
svnadmin create /home/kraplax/my-svn-dir



Выглядело это более чем странно: папка my-svn-dir содержала несколько файлов и подпапок. По моим соображениям в какой-то из них должен был быть "корень" репозитория как в каком-нить web-сервере. Не нашел. В файле conf/svnserve.conf я нашел настройки репозитория, в passwd - настроил даже пользователя и пароль. А дальше ступор.



Уповая на то, что в TortoiseSVN найдется документация (как-никак установщик весит аж 17,5 метров! это при том что KDEшный subversion-mingw всего 580 килобайт!) я полез в C:\Program files\TortoiseSVN\. То что я увидел - несколько обескуражило:

В комплекте есть хорошая справка по TortoiseSVN и SVN вообще, с объяснением принципа работы Subversion, но при этом вообще отсутствовали утилиты svn, svnserve, svnadmin и иже с ними!



Перелопатив справку я нашел вариант установки сервера с Apache. Ну, XAMPP у меня уже был, поэтому дело было за малым. Сделал как в инструкции - не работает. При чекауте пишет что 403 forbidden и все. При просмотре в браузере тоже толку маловато. Где-то чего-то проглядел.

Тыкался и так, и эдак - ноль. Пролистал справку раза три. Нашел как поднять сервер без Apache на том что уже есть - svnserve.

В итоге команда

1
svnserve --daemon --root=/home/kraplax/my-svn-dir



запустила нужный сервер и после этого с помощью TortoiseSVN с машины Windows я выбрал опцию Repo-browser и увидел все дерево нового репозитория - чистый лист =) Хорошо что в том же окне легко было просто добавить нужные файлы в репозиторий через правый клик.



Настройка SVN сервера и репозитория

Итак, попробую теперь без лирики описать вкратце что нужно сделать. Исходные данные:

Имя пользователя для доступа к репозиторию: kraplax

Пароль: example_password

Директория в которой будет храниться репозиторий: /home/kraplax/my-svn-dir для Linux и C:\my-svn-dir для Windows (папка может не существовать вообще, но должна быть обязательно пустой!).

Папка для рабочей копии с кодом: /home/kraplax/myProject или C:\myProject (папка может не существовать вообще, но должна быть обязательно пустой!)


Установите достаточно полный пакет Subversion.

Для *buntu и Debian это будет скорее всего так:

1
sudo apt-get install subversion



Для Mandriva это будет скорее всего так:

1
2
3
4
5
su

<root password>

urpmi subversion



OpenSuse не пользовал, но, думаю логику вы уже уловили.

В Windows установите любой дистрибутив Subversion, например Slik subversion - он содержит необходимые нам svn, svnadmin и svnserve.


Далее команды даны так, как если бы папка установки Subversion была в вашей переменной PATH.

В консоли выполните следующее:

1
svnadmin create /home/kraplax/my-svn-dir



для Windows:

1
svnadmin create C:\my-svn-dir




В вашем любимом редакторе откройте файл /home/kraplax/my-svn-dir/conf/svnserve.conf (для Windows - C:\my-svn-dir\conf\svnserve.conf) и раскомментируйте (удалите символ # в начале строки) следующие строки:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#для разрешения доступа на чтение без авторизации

anon-access = read

#для разрешения доступа на запись тем, кто авторизировался

auth-access = write

#для указания на файл паролей

password-db = passwd

#для указания на файл политик пользователей

authz-db = authz






Если в предыдущем шаге вы решили использовать файл паролей passwd - тогда открывайте его в любом редакторе (он лежит рядом с файлом svnserve.conf). Если файла нет - создайте его и добавьте новых пользователей по следующей схеме:

1
2
3
4
5
6
7
8
 
<users>

#пользовател = пароль

kraplax = example_password

</users>






Запускаем сервер Subversion:

1
2
3
 
svnserve --daemon --root /home/kraplax/my-svn-dir




в случае с Windows достаточно заменить путь к репозиторию. Однако, вы, возможно, захотите запускать сервер как сервис Windows. В таком случае вам нужно его зарегистрировать в системе:

1
2
3
4
5
 
sc create svnservice binPath= "svnserve.exe --service

--root C:\my-svn-dir" displayname= "Subversion service" depend= tcpip start= auto




Будьте внимательны! После знаков '=' стоит пробел!

Теперь автоматический запуск новоиспеченной службы svnservice вам обеспечен. Чтобы удалить службу - выполните следующее

1
2
3
 
sc delete svnservice







Теперь в консоли делаем:

1
2
3
 
svn co svn://kraplax@localhost/ /home/kraplax/myProject




или для Windows:

1
2
3
 
svn co svn://kraplax@localhost/ C:\myProject




В результате в консоли увидим строку

1
Checked out revision 0.



Это правильно, ибо мы пока ничего не добавляли в репозиторий. Пора бы сделать это.




Скинем наши начальные наработки (допустим, файл main.cpp) в /home/kraplax/myProject (или C:\myProject). Перейдем в папку рабочей копии и добавим main.cpp в систему Subversion:

1
2
3
 
svn add main.cpp








Собственно - все. Теперь любое изменение в файле main.cpp можно коммтить с помощью команды

1
svn commit -m "Текст сообщения для коммит-логов"



Когда к проекту добавятся новые файлы их также добавляем с помощью svn add.

Но, при дальнейшем использовании Subversion вы вскоре освоитесь с ней, и, возможно, решите воспользоваться графическим интерфейсом в виде QSvn или TortoiseSVN.



Вот и все. Это не так сложно как кажется в самом начале =)

И SVN можно использовать не только для программирования, но и для верстки сайтов и кто еще знает для чего :D

Помните только, что использовать SVN для бинарных (нетекстовых) файлов гораздо менее удобно чем для текстовых.



Жду комментариев :)


Тэги: dev svn TortoiseSVN настройка
+ 5 -
Похожие Поделиться

Username 26.02.2009 21:09 #
+ -1 -
Сабвершн - отличная штука, очень гибкая, буквально машина времени=) зачот.
ЗЫ в сусе ммм что-то типа sudo zypper install subversion
Brun 26.02.2009 23:50 #
+ 0 -
Жаль, что так в кратце. Но статья понравилась. Полезно.
Буду пробывать. Получится - отпишусь.
Kraplax 27.02.2009 05:38 #
+ 2 -
Не так уж и вкратце. Напиши чего в ней не хватает и возможно напишу подробнее в другой статье.
ukko 28.02.2009 05:25 #
+ 1 -
Не хватает:
- скрещивание с апачем (web_dav)
- редактирование свойств файла (svn propset) (на основе этих свойств можно сделать файл исполняемым или в скрипт автоматом прописывать дату последней модификации и номер ревизии - к примеру)
- умение пользоваться патчами, применять их и создавать самостоятельно
- в целом было бы неплохо объяснить новичкам все команды и рассказать как решать конфликты.
- копировать метки и мержить
- рассказать про негласное соглашение о наименовании трёх корневых каталогов trank, branches, tags
- ..

Вообщем тут поле непаханное, и пожалуйста. Будете писать про свн, пишите команды в консоли - это правильнее. Гуи люди освоят позже, когда поймут как пользоваться svn.
ukko 28.02.2009 20:47 #
+ 0 -
Кстати, вот очень толковая статья, которая мне когда-то помогла разобраться со многими мутными моментами.


http://wiki.linuxformat.ru/index.php/LXF70:Subversion2
booley 27.02.2009 10:18 #
+ 0 -
Плюсанул, хорошая статья :)
Как нибудь настрою по ней)
Username 27.02.2009 11:07 #
+ 0 -
Вот по этой книге я знакомился с этим чудом. По-моему хороша.
Kraplax 27.02.2009 17:07 #
+ 0 -
Большая. Не осилил бы. особенно в случае если бы мне для чистого интереса понадобилось бы локально сделать сервер SVN, то я вряд ли бы стал читать ее. А вот то что я написал - самое оно. Хотя, надо признать, такая книга полезна. Я например понятия не имею зачем нужны большинство комманд в SVN. Поэтому забукмаркаю-ка я её =)
ukko 28.02.2009 05:27 #
+ 0 -
О! Библия svn!.. :-)

Её должен прочитать каждый..
trali-vali 31.08.2010 08:37 #
+ 0 -
добрый день) спасибо за такое подробное описание! у меня стоит ubuntu 9.04, я делаю все в точности,как описано выше,но у меня не получается запустить: svnserve --daemon --root /home/trali/svn/test
Комп сразу виснет... в чем может быть причина?
djvibegga 04.04.2012 23:16 #
+ 0 -
Статья довольно хорошо отражает самую необходимую информацию по установке и настройке svn. Здесь не описан пример, для варианта apache + mod dav_svn. Вот здесь об этом более подробнее написано - http://devdream.net/?p=265, и тоже простым языком. Кстати, для настройки svn сервера я тоже пользуюсь svnserve, и довольно часто приходиться настраивать гибко права доступа к различным папкам. Особенно, когда много пользователей репозитория, например, дизайнеры, программисты, копирайтеры. Хорошо эта тема освещается здесь: http://devdream.net/?p=286
kstep 05.04.2012 11:31 #
+ 0 -
Охохохохох...

Юзал бы git, не было бы таких проблем вообще.
Я удивлён, что кто-то ещё насилует труп по имени subversion. Закопайте его уже.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн