Ho trovato il hg-git bridge abbastanza usabile andando nell'altra direzione (esponendo alcune cose su Github che era originariamente costruito usando Mercurial per il controllo del codice sorgente). Fondamentalmente, "solo" usi mercurial, crea un segnalibro che collega "master" al "default" quando sei pronto per passare a un repository git, e spingere. Tirare fuori da git funziona in modo simile a come si fa quando si tira da un repo remoto. Non si finisce con i file .git + .hg in questo scenario, si hanno solo mercuriali nella casella locale, a meno che non si finisca per eseguire la migrazione a git interamente, nel qual caso probabilmente si farebbe git clone in una nuova directory.
C'è un progetto simile per gli utenti git che vogliono spingere / tirare dai repository Mercurial, ma non ho esperienza diretta con esso. Vedi link
Oltre al potenziale controllo accidentale di un gruppo di cartelle nascoste dal tuo "altro" sistema di controllo del codice sorgente, non vedo alcun vero problema nel fare hg init in un repository git; mi sembra meno schifoso usare un bridge e scegliere esplicitamente quando spingere all'altro sistema dvcs.