Fossil — розподілена система керування версіями, яку розробляє Річард Хіпп. Річард Хіпп також є основним розробником СУБД SQLite. Ймовірно, з цієї причини Fossil використовує базу даних SQLite як сховище всієї інформації.

Fossil
Тип розподілена система керування версіями
Розробники Річард Хіпп
Стабільний випуск [d0753799e4] 2010-11-01 14:23:35 UTC[2] (1 листопада 2010)
Операційна система Кросплатформне програмне забезпечення
Мова програмування C
Ліцензія BSD[3]
Онлайн-документація fossil-scm.org/home/doc/trunk/www/permutedindex.html
fossil-scm.org/home/doc/trunk/www/contribute.wiki
Репозиторій https://fossil-scm.org/home, https://www.fossil-scm.org/home/timeline
Вебсайт www.fossil-scm.org

Дизайн ред.

Вся функціональність реалізована в одному виконуваному файлі. Розмір файла менше одного мегабайта.

Окрім функціональності системи контролю версій, Fossil містить систему відстеження помилок, редактор та сховище wiki-сторінок для більш ефективної і зручної роботи з проектом/тами. В системі також реалізовано простий HTTP-сервер. Основна робота з репозиторієм здійснюється через протокол HTTP.

Вебінтерфейс Fossil може гнучко налаштовуватись користувачем, налаштування зберігаються у файлі репозиторію. Вбудований HTTP-сервер підтримує протокол роботи з зовнішніми застосунками CGI, відповідно, функціональність наданого інтерфейсу може бути значно розширена.

Fossil автоматично перевіряє всі репозиторії на цілісність і відсутність конфліктів. Також надійність репозиторія підтримується використанням як сховища інформації СУБД SQLite3, що здатна забезпечити атомарність виконуваних операцій.

Обмеження ред.

За замовчуванням увесь трафік Fossil передає без шифрування. Підтримка HTTPS реалізована Дмитром Честних (використовується OpenSSL). Офіційні бінарні збірки підтримки SSL не мають. За необхідності, підтримку SSL можна додати за допомогою утиліти stunnel, що дозволить використовувати останню стабільну версію Fossil з підтримкою шифрування.

Використання ред.

Для запуску http-сервера на існуючому репозиторії необхідно ввести наступну команду:

 fossil ui <ім'я файла репозиторію>

Для клонування існуючого репозиторію достатньо ввести наступну команду:

 fossil clone <URL на існуючий репозиторій> <ім'я створюваного клону репозиторія>

Цей рядок створює клон репозиторія проекту SQLite:

 fossil clone http://www.sqlite.org/src/ myclone.fossil

Примітки ред.

Посилання ред.