tab - git tags best practices
Conversión de la carpeta Mercurial en un repositorio de Git (5)
Gitify
Parece una alternativa más moderna y fácil de usar para realizar la conversión https://github.com/buchuki/gitifyhg
pip install gitifyhg
git clone gitifyhg::<hgrepoaddress>
# done, you have a git repo with the entire history of the hg one
No tengo una gran experiencia con Mercurial, soy principalmente un tipo Git.
Me encantaría reflejar una carpeta / archivo Mercurial específico en un Repositorio git. Lo que en realidad estoy tratando de hacer es exportar el historial de un archivo de un repositorio de Mercurial a Git y poder mantener esto sincronizado con las futuras confirmaciones.
¿Tienes alguna sugerencia sobre cómo proceder? Creo que el camino a seguir debería ser obtener el historial del parche Mercurial, exportar periódicamente cada compromiso como un parche y aplicar los parches Mercurial al repositorio Git.
Extensión Hg-Git
Hg-Git se puede usar para convertir un repositorio de Mercurial a Git. Puede usar un repositorio local o un repositorio remoto al que se accede a través de SSH, HTTP o HTTPS.
Ejemplo de conversión de repositorios locales.
Instala Hg-Git.
En Windows, TortoiseHg viene con Hg-Git, aunque debe habilitarlo a través de la herramienta de configuración (en la sección de extensiones)
o manualmente en
~/mercurial.ini
[extensions] hggit =
Use los siguientes comandos para convertir el repositorio:
$ mkdir git-repo; cd git-repo; git init; cd .. $ cd hg-repo $ hg bookmarks hg $ hg push ../git-repo
El marcador hg
es necesario para evitar problemas ya que, de lo contrario, hg-git empuja hacia la rama actualmente desprotegida y confunde a Git. Esto creará una rama llamada hg
en el repositorio de Git. Para obtener los cambios en el maestro, use los siguientes comandos (solo es necesario en la primera ejecución, luego solo use git merge
o rebase
):
$ cd git-repo
$ git checkout -b master hg
Escribí exactamente cómo hacer esto aquí: Empujar a GitHub usando Mercurial . He estado usando esa técnica para impulsar varios repositorios de Mercurial a GitHub durante más de un año, sin problemas.
Pruebe con la exportación rápida :
cd
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo
git checkout HEAD
Puedes (desde el lado de Mercurial):
- usando la extensión Convertir con la opción
--filemap
convierte parte del repositorio original en más pequeño con solo los archivos necesarios | directorios - con la extensión de hg-git push push repo a Git
o (en lugar de hg-git), usando el puente Mercurial en Git , clone | tire repositorio de Git