Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веревкин.docx
Скачиваний:
26
Добавлен:
10.05.2015
Размер:
83.48 Кб
Скачать
  1. Управление изменениями кода: svn

Subversion (SVN) — централизованная система (в отличии от распределенных систем, типа Git или Mercurial), т.е. данные хранятся в едином хранилище. Хранилище может располагаться на локальном диске или на сетевом сервере.

Работа в Subversion мало отличается от работы в других централизованных системах управления версиями. Клиенты копируют файлы из хранилища, создавая локальные рабочие копии, затем вносят изменения в рабочие копии и фиксируют эти изменения в хранилище. Несколько клиентов могут одновременно обращаться к хранилищу. Для совместной работы над файлами в Subversion преимущественно используется модель копирование — изменение — слияние. Кроме того, для файлов, не допускающих слияние (различные бинарные форматы файлов), можно использовать модельблокирование — изменение — разблокирование.

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

При использовании доступа с помощью WebDAV также поддерживается прозрачное управление версиями — если любой клиент WebDAV открывает для записи и затем сохраняет файл, хранящийся на сетевом ресурсе, то автоматически создаётся новая версия.

Типы репозиториев:

  • Первый тип используют для хранения БД на основе Berkeley DB

  • Второй тип - обычные файлы специального формата (доступ к ним организуется с помощью собственных библиотек, без использования сторонних БД)

Оба типа репозиториев обеспечивают достаточную надёжность при правильной организации.

Доступ к репозиторию:

  • Прямой доступ к репозиторию на диске

  • Удаленный доступ по протоколу WebDAV с использованием модуля mod_dav_svn (для Apache 2)

  • Удаленный доступ с иcпользованием собственного протокола SVN

    • на выделенном сетевом соединении (по умолчанию tcp-порт 3690)

    • через стандартный ввод-вывод (SSH,CLI)

Все эти способы могут быть использованы для работы с репозиториями обоих типов (FSFS и Berkeley DB). Для доступа к одному и тому же репозиторию могут одновременно использоваться разные способы.

Подробнее

  1. Управление изменениями кода: Mercurial

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

Mercurial является распределенной (децентрализованной) системой контроля версий. Рабочий процесс выглядит следующим образом:

  1. На личном компьютере создается новый репозиторий (путем клонирования существующего репозитория, создания нового и т. п.);

  2. В рабочей директории данного репозитория изменяются/добавляются/удаляются файлы;

  3. Выполняется фиксация (commit) изменений в данный репозиторий (то есть в локальный репозиторий на личном компьютере);

  4. Шаги 2 и 3 повторяются столько раз, сколько необходимо;

  5. При необходимости производится синхронизация изменений с другими репозиториями: забираются (pull) чужие наборы изменений и/или отдаются (push) собственные.

То есть вся повседневная работа происходит в локальном репозитории, а когда возникает необходимость, производится отправка результатов своей работы в один или несколько других репозиториев. Количество шагов при работе с отдаленными репозиториями можно сократить, если настроить Mercurial на автоматическую отправку изменений в другие репозитории при выполнении фиксации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]