Eu tenho um projeto de plugin Vim no GoogleCode usando Mercurial, mas os usuários querem tê-lo no github para facilitar o uso como subrepo git (para manter seu ~/.vim/ no github com todos os plugins dentro).
Pessoalmente, prefiro googlecode e hg a github e git, então não gosto de mover meu projeto para github e prefiro implementar uma espécie de espelho git automático para meu repositório hg. Eu li estes:Plugin mercurial Hg-Git,Sincronizando um espelho git com hg-giteCrie um espelho Gite parece que com alguma dor de cabeça extra isso pode funcionar usando dois comandos no lugar de um:
hg push
hg push githubmirror
Mas, você sabe, a maioria de nós se esquecerá de correr em segundo lugar hg push
de vez em quando. Então, é possível automatizar isso de alguma forma (usando ganchos etc.)?
Outra pergunta: existe maneira melhor de fazer esses espelhos? Talvez o GoogleCode já forneça acesso git aos seus repositórios hg? Ou talvez seja possível criar um clone git para o repositório hg e mantê-lo sincronizado com o repositório hg original automaticamente por terceiros, sem sequer notificar o proprietário do repositório hg?
Responder1
Você poderia fazer algo como um gancho pós-commit. Dê uma olhada emhttp://www.selenic.com/mercurial/hgrc.5.html
ganchos
Comandos ou funções Python que são executados automaticamente por várias ações, como iniciar ou finalizar um commit. Vários ganchos podem ser executados para a mesma ação anexando um sufixo à ação. A substituição de um gancho em todo o site pode ser feita alterando seu valor ou configurando-o como uma string vazia. Os ganchos podem ser priorizados adicionando um prefixo de prioridade ao nome do gancho em uma nova linha e definindo a prioridade. A prioridade padrão é 0 se não for especificada.