Online video hd

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

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

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

26.02.09 20:44 Kraplax

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' дал мне достаточно информации по которой я даже, как позже выяснилось, смог сделать первый свой репозиторий:
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.
В итоге команда
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 (папка может не существовать вообще, но должна быть обязательно пустой!)
  1. Установите достаточно полный пакет Subversion.
    Для *buntu и Debian это будет скорее всего так:
    sudo apt-get install subversion

    Для Mandriva это будет скорее всего так:
    1
    2
    3
    4
    5
    su

    <root password>

    urpmi subversion

    OpenSuse не пользовал, но, думаю логику вы уже уловили.
    В Windows установите любой дистрибутив Subversion, например Slik subversion - он содержит необходимые нам svn, svnadmin и svnserve.
  2. Далее команды даны так, как если бы папка установки Subversion была в вашей переменной PATH.
    В консоли выполните следующее:
    svnadmin create /home/kraplax/my-svn-dir

    для Windows:
    svnadmin create C:\my-svn-dir

  3. В вашем любимом редакторе откройте файл /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


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


    [users]

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

    kraplax = example_password

     


  5. Запускаем сервер Subversion:
    1
    2
    3
    4
    5


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

     

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


    sc create svnservice binPath= "svnserve.exe --service

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

     

    Будьте внимательны! После знаков '=' стоит пробел!
    Теперь автоматический запуск новоиспеченной службы svnservice вам обеспечен. Чтобы удалить службу - выполните следующее
    1
    2
    3
    4
    5


    sc delete svnservice

     


  6. Теперь в консоли делаем:
    1
    2
    3
    4
    5


    svn co svn://kraplax@localhost/ /home/kraplax/myProject

     

    или для Windows:
    1
    2
    3
    4
    5


    svn co svn://kraplax@localhost/ C:\myProject

     

    В результате в консоли увидим строку
    Checked out revision 0.

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

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


    svn add main.cpp

     



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

Когда к проекту добавятся новые файлы их также добавляем с помощью svn add.
Но, при дальнейшем использовании Subversion вы вскоре освоитесь с ней, и, возможно, решите воспользоваться графическим интерфейсом в виде QSvn или TortoiseSVN.

Вот и все. Это не так сложно как кажется в самом начале =)
И SVN можно использовать не только для программирования, но и для верстки сайтов и кто еще знает для чего :D
Помните только, что использовать SVN для бинарных (нетекстовых) файлов гораздо менее удобно чем для текстовых.

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



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

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


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

Её должен прочитать каждый..
trali-vali 31.08.10 08:37 # +0
добрый день) спасибо за такое подробное описание! у меня стоит ubuntu 9.04, я делаю все в точности,как описано выше,но у меня не получается запустить: svnserve --daemon --root /home/trali/svn/test
Комп сразу виснет... в чем может быть причина?

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 159)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 3262 из 235 городов)
            Топ пользователей Топ блогов
            В сети: emostar, mirivlad, doraneko, Brodyaga

            Новенькие: twisted, shirixae, fitz, lomalkin, tony_ru
            welinux.ru

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

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


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

            Online video HD

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

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

            Full HD video online

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

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

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