Fossil

Материал из Xgu.ru

Перейти к: навигация, поиск


Fossil --- распределённая система управления версиями (DVCS).

Репозиторий в Fossil это обычный файл на диске (может быть очень большим) (SQLite).

Как и в других DVCS в Fossil у каждого разработчика своя собственная копия репозитория, которые можно синхронизировать между собой (напрямую или через центральный сервер). Синхронизация может выполняться в одну сторону (push), в обратную (pull) или в обе (sync).

Взаимодействие между репозиториями по HTTP. Репозитории идентифицируются с помощью URL. Можно использовать этот же URL и в браузере для просмотра различной информации о проекте.

[править] Ключевые понятия

  • check-in -- множество иерархически организованных файлов (фактически дерево каталогов проекта)
  • В репозитории хранится запись для всех check-in'ов, сделанных за всю его историю.
  • Изменения в репозиториях синхронизируются с помощью push, pull, sync и clone.
  • Какая-либо версия какого-либо файла это артефакт, идентифицируемый с помощью ID (artifact ID).
  • Артефакты никогда не меняются (immutable).
  • Fossil автоматически генерирует специальный файл (manifest), в который записывает все артефакты составляющие check-in
  • ID манифеста это идентификатор check-in

Артефакт (artifact) -- одно из центральных понятий Fossil. Артефакт это универсальное уникальное имя, являющееся хэшем SHA1 соответствующего файла, представленного в виде 40-символьного 16-ричного числа.

Fossil-сервер может работать в трёх режимах:

  • Как независимый сервер;
  • Через CGI-интерфейс web-сервера;
  • Через inetd/xinetd.

Написан на Си, минимум зависимостей, есть wiki и bugtracker.

[править] Дополнительная информация

Источник — «http://5.9.243.178:81/wiki/Fossil»