Con git, il formato del repository è una parte piuttosto fondamentale del modo in cui tutto funziona. Dovresti fare un sacco di lavoro per cambiarlo.
Non ho letto nessuna delle fonti di Mercurial, ma immagino che la situazione non sia molto diversa.
Come ho suggerito nel mio commento, non sono proprio sicuro del perché tu voglia fare questo. Perché git possa ancora avere tutti i suoi vantaggi, dovrai immagazzinare oggetti git nel tuo database sqlite. Avresti comunque bisogno di tutti gli strumenti git di basso livello per accedervi e manipolarli: non dovrai semplicemente cercare blob e alberi dai loro SHA1 e fare tutto il resto del lavoro da solo. (E anche se per qualche ragione tu volessi, puoi farlo altrettanto facilmente guardando nella directory degli oggetti git.)
Il mio suggerimento sarebbe quello, se trovi che ci sono operazioni che vuoi eseguire in git che non sono supportati, ti familiarizzi con alcuni dei comandi idraulici e scopri come scriverli come script. Git espone davvero il livello più basso di operazioni che potresti desiderare.
P.S. Se si dovesse trovare un'operazione specifica non supportata che si desidera eseguire e si riscontrano problemi nel trovare l'impianto idraulico necessario per eseguirlo, o con gli script necessari per implementarlo, inserire qui una domanda! Non c'è motivo di rimanere bloccati solo perché non puoi usare sql.
Non è il tipo di git per archiviare e interrogare i suoi dati in modo efficiente? – Cascabel
git usa la conoscenza specifica del dominio (che i suoi oggetti sono immutabili e che tutti esistono in una struttura ad albero) per fare meglio di un RDB generale nella memorizzazione delle cose che git memorizza. (Ad ogni modo, SQL fa schifo nell'esprimere le relazioni tra gli alberi.) – masonk