Ежовый угол

Сеть, Рунет, телеком, Иркутск

Ставим Subversion за 5 минут

Многие начинающие разработчики слышали о средствах контроля за версиями, CVS и SVN, но побаиваются его использовать ввиду «сложности настройки», особенно на windows (в той же fedora svn предустановлен). Несколько дней я тоже впервые занялся установкой subversion и на первый взгляд все было ужасно сложно.

Качаем

Нам необходимо загрузить сам сервер и клиент для работы с ним. В качестве клиента рекомендую воспользоваться tortoiseSVN, в котором максимально быстро разберется новичок и при этом для этого клиента доступен русский язык.

Итак качаем последнюю stable-версию сервера, клиент и русификацию к нему.

Установка

Установка проходит легко и непринужденно, везде достаточно нажимать «next». Желательно устанавливать сначала сервер, потом клиент, затем русификацию к клиенту.

Создаем первый репозитарий (хранилище)

  • Создаем папочку C:\svn-store\
  • Заходим в консоль (Пуск->Выполнить, cmd) и пишем:

    svnadmin create c:/svn-store/my_project

    Обратите внимание на слеши! Они должны указываться именно так, на манер unix.
    В случае успешного создания репозитория никаких ошибок не появится.

  • Открываем файл C:/svn-store/my_project/conf/svnserve.conf и раскомментируем строчки:

    anon-access = read
    auth-access = write

    Т.е. мы разрешаем всем скачивать файлы из репозитария, а зарегистрированным пользоватеям — и закачивать данные в него. Чаще всего используется именно такая политика. Данные о пользователях лежат в файле, который указывается в строчке (которую также нужно раскомментировать):

    password-db = passwd

    Т.е. так мы показываем, что в папке C:\svn-store\my_project\conf лежит файл passwd c указанием логинов и паролей зарегистрированных пользователей.

  • Идем в C:\svn-store\my_project\conf\passwd, открыв его любым текстовым редактором и создаем учетные записи пользователей в секции users. Формат их таков:

    ilya = strangeword
    masha = simpleword

Заполняем репозитарий

Необходимо произвести импорт, начальное наполнение нашего репозитария. Для этого заходим в папку с вашим проектом (программой, текстами, скриптами и т.д.), щелкаем правой кнопкой мыши на свободном месте и выбираем TortoiseSVN->Импортировать…

В качестве URL вводим:

svn://localhost:8082/my_project/

Если вы подключаетесь не с локальной машины к SVN, то вместо localhost укажите IP-адрес или сетевое имя системы с SVN.

У вас должны спросить логин и пароль. Указывайте те данные, которые внесли в C:\svn-store\my_project\conf\passwd. Если вместо окошка для ввода логина и пароля вы не увидели, возвращайтесь к пунктам про правку C:\svn-store\my_project\conf\svnserve.conf и C:\svn-store\my_project\conf\passwd — вы либо не раскомментировали строчки, либо не указали логины/пароли.

В случае успешного заполнения вы увидите нечто подобное:

Работа с tortoiseSVN

Теперь создайте пустую папку и вызовите в ней по правой кнопке мыши «SVN Извлечь…». URL тот же (svn://localhost:8082/my_project/). Так вы загрузите в данную папку рабочую копию проекта из репозитария. Кроме файлов проекта в ней появится скрытая папка «.svn» — ее ни в коем случае не трогайте, она используется SVN во время фиксации (commit’a) изменений в репозитарий.

Вы можете делать хоть что (не считая папки .svn и ее содержимого, которые трогать нельзя) — создавать/править/удалять файлы проекта. Для записи изменений в репозитарий щелкните правой кнопкой мыши в папке и выберите «SVN Фиксировать…» (SVN Commit). Чтобы обновить свою рабочую копию до состояния в репозитории — «SVN Обновить» (SVN Update).

Думаю, дальнейшее освоение не вызовет проблем. А на первое время описанных действий хватит. 🙂

Post scriptum

Описанный метод — лишь один из множества. Я не стал описывать все тонкости и возможности, т.к. это заняло бы очень много времени. Пишите вопросы в комментариях — я постараюсь ответить. Но рекомендую почитать SVN Book, подробное руководство по SVN.

Раздел: Без рубрики

Метки: , ,

66 комментариев

  1. goodluck357:

    Ничего не работает. После нажатия импортировать выбивает ошибку «Can’t connect to host ‘localhost’: Подключение не установлено, т.к. конечный». Сделал все по инструкции.

  2. рыба По:

    а у меня всё заработало, только ставил я не по этим ссылкам, а с офсайта. Просто Subversion 1.6
    без сервака. Создал через svnadmin.exe проект как тут описано, а дальше свои проекты php`шные через NetBeans IDE залил.


Оставить комментарий

Реклама

Статистика