Explicaré mi problema
Actualmente estoy usando una instalación interna de gitorious usando git. Me gustaría comenzar a probar FogBugz y Kiln de Fog Creek, que utiliza mercurial. Me gustaría continuar durante al menos un tiempo mientras sigo desarrollando usando ambas soluciones.
¿Alguien sabe de algún efecto grave a largo plazo de tener un git y un repositorio mercurial en el mismo directorio? ¿O hay una mejor manera de mantener sincronizados git y mercurial server?
Lo he intentado con un repositorio de prueba y no he visto ningún problema.
Gracias por cualquier ayuda.
.svn
archivos de svn .Respuestas:
He encontrado que el puente hg-git es bastante útil en la otra dirección (exponiendo algunas cosas en Github que se construyeron originalmente usando Mercurial para el control de la fuente). Básicamente, "solo" usa mercurial, crea un marcador que vincula "maestro" al "predeterminado" cuando está listo para pasar a un repositorio de git, y presiona. Pull from git funciona de manera similar a como lo hace cuando extrae de un repositorio remoto. No terminas con archivos .git + .hg en este escenario, solo tienes archivos mercuriales en tu caja local, a menos que termines migrando a git por completo, en cuyo caso probablemente harías clon git en un nuevo directorio.
Hay un proyecto similar para los usuarios de git que desean empujar / extraer de los repositorios de Mercurial, pero no tengo experiencia directa con él. Ver https://github.com/offbytwo/git-hg
Aparte del potencial de registrar accidentalmente un montón de carpetas ocultas de su "otro" sistema de control de fuente, no veo ningún problema real al hacer hg init en un repositorio git; me parece menos torpe usar un puente y elegir explícitamente cuándo pasar al otro sistema dvcs.
fuente
He usado tanto mercurial como git en el mismo proyecto, en el mismo directorio de trabajo. Lo mejor de usar estos dos DVCS es que ambos solo tienen una carpeta (.git / .hg) para sus confs y blobs y árboles y demás.
Simplemente coloque .hg en .gitignore (y .git en .hgignore) y estará más que listo.
Por supuesto, debe duplicar el trabajo al comprometerse, pero no me pareció difícil de manejar.
Esta configuración, en mi opinión, es mucho más confiable que usar cualquier solución de puente (no me gustan desde el horror que tuve con git-svn).
fuente