tag tab repositorio que practices crear commits commands best git mercurial

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.

  1. 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 =

  2. 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