Eu encontrei a ponte hg-git bastante útil indo na outra direção (expondo algumas coisas no Github que foram originalmente construídas usando o Mercurial para controle de origem). Basicamente, você "apenas" usa o mercurial, cria um marcador vinculando "mestre" ao "padrão" quando estiver pronto para enviar para um repositório git e pressionar. O pull do git funciona da mesma forma que quando você extrai de um repositório remoto. Você não acaba com os arquivos .git + .hg nesse cenário, apenas possui arquivos mercuriais em sua caixa local, a menos que acabe migrando para o git por completo, caso em que provavelmente faria o clone do git em um novo diretório.
Existe um projeto semelhante para usuários do git que desejam extrair / extrair dos repositórios do Mercurial, mas não tenho experiência direta com ele. Consulte https://github.com/offbytwo/git-hg
Além do potencial de fazer o check-in acidental de várias pastas ocultas do seu "outro" sistema de controle de código-fonte, não vejo nenhum problema real ao executar o hg init em um repositório git; apenas me parece menos complicado usar uma ponte e escolher explicitamente quando enviar para o outro sistema dvcs.
.svn
arquivos do svn .