Что мне нравится в fossil, так это то, что он использует простой старый sqlite для хранения наборов изменений, файлов и т.д. Я могу использовать его командную строку инструмент для запроса в репозиторий, но если я хочу что-то, не поддерживаемое им, я могу отказаться от написания SQL-запроса.
Mercurial и git более зрелые, у них больше библиотек, больше импульсов, но они используют собственный формат репозитория. Интересно, возможно ли иметь sqlite в качестве своего репозитория. (Я знаю, что есть инструменты для запроса репозитория mercurial или git, но sql кажется проще.)