С git формат репозитория является довольно фундаментальной частью того, как все работает.Вам бы пришлось проделать большую работу, чтобы изменить это.
Я не читал ни одного источника Mercurial, но я думаю, что ситуация не сильно отличается.
Как я и предлагалв моем комментарии я не совсем уверен, почему вы хотите сделать это.Чтобы git мог по-прежнему иметь все свои преимущества, вы должны хранить объекты git в своей базе данных sqlite.Вам по-прежнему нужны все низкоуровневые инструменты git для доступа к ним и манипулирования ими - вам не нужно будет просто просматривать блобы и деревья по их SHA1 и выполнять всю остальную работу самостоятельно.(И даже если по какой-то причине вы захотите, вы можете сделать это так же легко, заглянув в каталог объектов git.)
Я бы предложил, если вы обнаружите, что есть операции, которые вы хотите выполнитьв git, которые не поддерживаются, вы знакомитесь с некоторыми из сантехнических команд и выясняете, как писать их как сценарии.Git действительно предоставляет практически самый низкий уровень операций, который вы можете захотеть.
PS Если вам нужно найти конкретную неподдерживаемую операцию, которую вы хотите выполнить, и у вас возникли проблемы с поиском нужной вам сантехники, или ссценарии, необходимые для его реализации, оставьте вопрос здесь!Нет причин застрять только потому, что вы не можете использовать sql.