Шпаргалка: Работа с репозиторием

  • Опубликовано:
  • Теги: subversion
После установки Subversion можно сделать следующее:
  1. Создаем репозиторий:
    sudo svnadmin create /home/svn/new_svn_repo
  2. Устанавливаем владельцев и присваиваем права (2775 на все папки):
    sudo chown -R www-data:subversion new_svn_repo
    sudo chmod -R g+rs new_svn_repo
    
  3. В файле /etc/apache2/mods-available/dav_svn.conf добавляем конфигурацию:
    <location /svn/new_svn_repo>
       DAV svn
       SVNPath /home/svn/new_svn_repo
       AuthType Basic
       AuthName "Subversion repository for new_svn_repo"
       AuthUserFile /home/svn/new_svn_repo/conf/passwd
       Require valid-user
    </Location>
    
  4. Задаем пароль на репозиторий:
    sudo htpasswd -b /home/svn/new_svn_repo/conf/passwd ИМЯ ПАРОЛЬ
  5. Обязательно перезагружаем апач:
    sudo /etc/init.d/apache2 reload
  6. Далее схема действий такая:
    • Загрузить начальную версию проекта в репозиторий (import).
    • Получить рабочую копию (checkout).
    • Изменить рабочую копию.
    • Закоммитить новую версию (commit).

Делаем это так:

Работа с репозиторием

Импорт первой версии в локальный репозиторий:
svn import local_dir file:///home/svn/new_svn_repo -m "First Import"
Импорт первой версии в удаленный репозиторий:
svn import local_dir [http|svn|ssh]://remote_host/svn/new_svn_repo -m "First Import"
Получаем рабочую копию из репозитория (2 способа):
svn checkout http://example.com/svn/new_svn_repo
или
svn checkout svn+ssh://example.com/svn/new_svn_repo
Вносим изменения (читай, заливаем туда имеющийся проект, если есть). Затем в корне рабочей копии говорим:
svn add *
И наконец, коммитим:
svn commit

После этого в репозитории находится последняя рабочая копия и ее можно чекаутить в любое место. Нужно обратить внимание, чтобы не заливать конфигурационные файлы в репозиторий. Интересно, как другие решают этот вопрос?

Пока разбирался, наткнулся на тему про репозиторий на gmail. Буду иметь в виду.