Мой сайт

Суббота, 30.11.2024, 14:20

Приветствую Вас Гость | RSS | Главная | | Регистрация | Вход

Главная » 2013 » Сентябрь » 26 » Работа с Subversion на хостинге
13:30
 

Работа с Subversion на хостинге

Работа с Subversion на хостинге

Subversion -- одна из самых популярных на сегодняшний день система управления исходным кодом. Эта система позволяет разработчику или группе разработчиков упорядочить свою работу над проектом, обеспечивая каждому из них доступ к самой последней версии проекта, синхронизацию, объединение, протоколирование изменений и многое другое. Более подробная информация о работе с Subversion доступна по ссылкам, приведенным ниже.

Работа с Subversion доступна пользователям тарифов "Стандарт" и "Профи" по протоколу svn+ssh. Для клиенов тарифов линейки "VDS" -- по любому доступному протоколу (svn, http или https).

Создание репозитория и инициализация текущего проекта

Рассмотрим пример создания репозитория Subersion в каталоге svnroot. Для этого необходимо зайти через SSH на сервер и выполнить команду:

svnadmin create svnroot

После этого в текущем каталоге появится каталог svnroot со служебными файлами. Это текущее хранилище данных, обращение к которому напрямую не производится. Вместо этого для работы с ним используются команды svn.

Если у Вас уже есть готовый проект, которй планируется перевести под управление Subversion, необходимо выполнить его импорт. Можно сделать это из той же консоли с использованием программы svn - одного из клиентов для работы с Subversion.

Предположим, что у Вас есть готовый проект, который лежит в каталоге myproject. Импорт в этом случае будет выглядеть следующим образом:

svn import myproject file:///home/uXXXX/svnroot/myproject -m 'Initial import'

Здесь:

  • myproject - имя каталога, который предназначен для импорта;
  • file:// - указание на протокол для связи с репозиторием;
  • /home/uXXX/svnroot - путь до репозитория;
  • myproject - после слеша указывается путь к проекту внутри дерева репозитория;
  • -m 'Initial import' - строка, которая идентифицирует эту правку.

Хочется еще раз обратить внимание на то, что путь к проекту внутри репозитория -- это совсем не тоже самое, что путь в файловой системе, поэтому не пытайтесь найти файлы проекта в каталоге svnroot, равно как и исправлять то, что там хранится.

Удаленный доступ к репозиторию

Ниже рассмотрен единственно доступный способ доступа к репозиторию для пользователей ТП "Стандарт" и "Профи" -- доступ по протоколу svn+ssh.

Доступ с помощью консольной версии клиента

Пользователи Linux и других клонов UNIX располагают удобной консольной утилитой для управления репозиторием, которая называется svn. Для того чтобы получить текущее содержимое репозитория, достаточно выполнить команду:

svn co svn+ssh://uXXXX@uXXXX.netangels.ru/home/uXXXX/svnroot/myproject myproject

Эта команда скопирует последнюю версию проекта myproject в локальный каталог myproject. Для доступа необходимо ввести пароль доступа SSH на сервер. Для пользователей тарифа "Стандарт" такой доступ по умолчанию отключен, но может быть включен через панель управления хостингом. Все остальные команды для работы с проектом производятся как обычно (см. документацию или svn help).

Доступ из Windows с помощью TortoiseSVN

TortoiseSVN - это удобная система работы с Subversion для Windows, имеющая графический интерфейс. TortoiseSVN позволяет соединяться с сервером, в том числе и через svn+ssh.

Для работы с Subversion через TortoiseSVN после установки непосреддственно приложения необходимо необходимо проделать шаги, описанные ниже.

Шаг 1. Выбрать каталог для хранения рабочих копий проектов и, щелкнув в нем правой кнопкой мыши, выбрать пункт SVN Checkout.

SVN checkout

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

Шаг 3. Система запросит пароль, и после его ввода Вы получите каталог с готовой рабочей копией. Файлы каталога будут отмечены специальными значками, указывающими на их состояние относительно основной копии, хранящейся в репозитории (изменен, добавлен и т.п.).

Как предоставить публичный доступ к репозиторию только на чтение

Если Вы разрабатываете открытый проект, то, возможно, захотите предоставить возможность получать обновления из Subversion для неограниченного круга пользователей и разработчиков.

Для пользователей тарифного плана "VDS" никаких проблем с этим возникнуть не должно. Пользователи ТП "Стандарт" и "Профи" имеют один SSH аккаунт на сервере, а поскольку доступ svn+ssh предполагает, что Вы авторизуетесь в репозитории со своим логином на сервере, то на этом уровне разграничение прав никак реализовано быть не может. Возможна реализация этого механизма несколькими обходными путями, однако во всех случаях неавторизованный пользователь теряет возможность просто сделать "svn update" для того, чтобы получить последнюю версию изменений. Варианты возможны следующие: добавить в crontab команду, которая раз в сутки выполняет svn export (или svn checkout), формирует из полученного каталога архив и выкладывает его в каталог, доступный через web. добавить точно такую же команду в качестве hook'а для действия post-commit (подробнее о том, что это такое, можно прочесть здесь).

Ссылки

Просмотров: 294 | Добавил: housecove | Рейтинг: 0.0/0
Всего комментариев: 0

Меню сайта

Наш опрос

Оцените мой сайт
Всего ответов: 0

Статистика


Онлайн всего: 6
Гостей: 6
Пользователей: 0

Форма входа

Поиск

Календарь

«  Сентябрь 2013  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30