Val Petruchek

подписывайтесь, а то хуже будет!  

ПОДПИСЫВАЙТЕСЬ НА RSS

« Protocol Buffers
E-gold признался »

Локальный SVN репозиторий

09.07.08 @ 09:24 — Software, Source Control

Если вы используете SVN под Windows, то почти наверняка это — Tortoise SVN.

В стандартную установку Tortoise SVN входит не только SVN клиент, с помощью которого можно делать Checkout, Update и Commit, но и SVN сервер.

Соответственно, если у вас стоит Tortoise SVN, то вы можете поднять свой локальный SVN сервер.

Зачем это необходимо? SVN — это удобно, и это реально сохраняет время. Максимум, на что хватает среднего девелопера при интенсивной разработке без системы контроля версий — сделать текущий бекап проекта, скопировав все текущие файлы в папку вида project_name.20080709.backup. Единственное, что позволяет такая система сделать удобно и быстро — откат к выбранной “версии” проекта. Никакого show differences, restore to revision и прочих прелестей.

В общем, если вы профессионально занимаетесь написанием программ и не пользуетесь никакой системой контроля версий, вы лишаете себя многих прелестей.

Итак, первым делом надо создать репозиторий. Для него подойдёт любая пустая директория, например c:\Repository\. В контекстном меню этой директории выбираем команду TortoiseSVN » Create Repository here. Файловая система FSFS подойдёт.

Пусть мы хотим добавить в репозиторий директорию d:\projects\megashit\source\. В контекстной меню папки c:\Repository\ вызываем TortoiseSVN » Repo-browser. Внутри Repo-browser у нас должна быть видна директория file:///C:/Repository/, в её контекстном меню выбираем add folder и добавляем директорию d:\projects\megashit\source\, которую затем переименовываем в megashit с помощью пункта контекстного меню rename.

Теперь делаем бекап директории d:\projects\megashit\source\ и удаляем из неё все файлы (они уже есть в репозитории). В контекстном меню делаем Checkout из file:///C:/Repository/megashit/.

Если Checkout отработал нормально, то в папке d:\projects\megashit\source\ окажутся те же файлы, что были в ней до удаления + скрытая папка .svn, которую не надо трогать.

Теперь в контекстном меню папки d:\projects\megashit\source\ должны появиться команды SVN Update и SVN Commit, с помощью которых можно работать с репозиторием (svn-адрес которого, напомню, file:///C:/Repository/megashit/).

Я не тестировал доступность этого репозитория по локальной сети, возможность разграничения прав на чтение/запись и создание нескольких пользователей — моей целью было поднять локальный репозиторий для одного разработчика. Для желающих соорудить из него что-то большее, имеет смысл почитать про SVNAdmin.

10 Comments »

  1. […] Продолжая просматривать накопившиеся заметки в гугльридере нашел в старом блоге Валентина заметку о настройке локального SVN репозитория. Задумался, не поднять ли мне SVN сервер на домашнем серваке… […]

    Pingback by Снова за работу | iДмитрий — 01.08.2008 @ 09:31

  2. Все-таки на вебхостинге чаще всего Linux. Да и со временем приходится от чисто локальной работы переходить к работе над проектом, который уже работает, причем большой командой. Для этого придется настраивать SVN прямо в глобальной сети. Настройка SVN-репозитария в web-интерфейсом для создания хранилищ и пользователей описано в интернете

    Comment by IzumeRoot — 20.10.2008 @ 13:36

  3. Пиариться не надо.

    Comment by Val Petruchek — 20.10.2008 @ 16:16

  4. А что, прикольно. Я сделал локальный свн для своего домашнего(любительского) проекта, очень удобно.

    Comment by Mikhail — 02.02.2009 @ 09:22

  5. Mikhail, SVN рулит, даже для личного использования.

    Не надо создавать папочки с предыдущими версиями, достаточно коммитить изменения в репозиторий.

    Соответственно, откат к нужной версии делается легко.

    В качестве бонуса имеем историю правок каждого файла.

    Красота.

    Comment by Val Petruchek — 21.02.2009 @ 05:00

  6. О, спасибо, как раз искал методику!

    Comment by Blush — 25.06.2009 @ 14:30

  7. Это, кстати, неправильный способ.
    Правильный, тезисно:

    1. Ставим tortoisesvn
    2. Ставим subversion for windows, например ttp://sourceforge.net/projects/win32svn/
    3. svnadmin create c:\repository\
    4. Ставим svnservice wrapper, например ttp://www.lw-works.com/svnservice
    5. Конфигурируем svnservice.conf - путь к репозиторию, путь к svnserve.exe
    6. Добавляем SVN_EDITOR переменную окружения (блокнот работает)
    7. PROFIT!

    Comment by Val — 25.10.2010 @ 14:42

  8. У меня на лакале 2 папки
    1 - hostion
    2 - переносной винт на 500 гБ

    Дело в том что я работаю дома над проэктами как мне их соединить при помощи SVN ??
    я ебался 30 мин , с дебильным SVN ничего не вышло, он нехочет обединить проэкты !!

    Comment by Prox — 04.11.2010 @ 17:18

  9. У меня на лакале 2 папки
    1 - hostion
    2 - переносной винт на 500 гБ

    Дело в том что я работаю дома над проэктами как мне их соединить при помощи SVN ??
    я ебался 30 мин , с дебильным SVN ничего не вышло, он нехочет обединить проэкты !!
    ^(

    Comment by Prox — 04.11.2010 @ 17:19

  10. […] Если оглянуться назад, прошедшие три месяца были не самыми скучными в моей жизни. Надеюсь и оставшая часть года будет довольно насыщенной и мне будет о чем написать в этом блоге. Ну и мой блог о ремонте тоже не стоит забывать…. К теме продажи ссылок на сайте… Валентин Петручек в своем новом блоге прикалывается над великим русским писателем Сергеем Лукьяненко, закрывшим свой блог на ЖЖ и тут же открывшим новый. Три года назад мэтр хотел сайт нахаляву от благодарных читателей… Ну и получил халявный сайт, монетизированный сапой. Выглядит как сателлит, несолидно для лауреата международных премий. Продолжая просматривать накопившиеся заметки в гугльридере нашел в старом блоге Валентина заметку о настройке локального SVN репозитория. Задумался, не поднять ли мне SVN сервер на домашнем серваке… Метки: лытдыбр комментарий (RSS)  |  Обратная ссылка […]

    Pingback by Anonymous — 04.05.2012 @ 17:25

RSS feed for comments on this post. TrackBack URI

Leave a comment

  
Реклама::

 
Реклама::