¿Cómo convierto un repositorio git a mercurial?


He estado desarrollando una aplicación java usando git como repositorio de código fuente. Me gustaría compartir el proyecto con otros desarrolladores de Java y hg parece ser el más utilizado por ellos.

Mi pregunta es ¿cómo convertir un repositorio git a hg?

Si he intentado buscar en Google "convertir git a hg" y cada éxito de búsqueda se trata de convertir de hg a git. También estoy usando TortoiseHg .

Author: Spoike, 2009-01-29

9 answers

El hg convert la utilidad no está activada de forma predeterminada después de la instalación. Para configurarlo como tal, agregue lo siguiente a su archivo .hgrc.

[extensions]
hgext.convert=

Si está utilizando TortoiseHg en Windows, entonces este archivo reside en su directorio personal como mercurial.ini. Después de este cambio de configuración, podrá usar la utilidad hg convert.

 79
Author: Spoike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-02 07:01:55

Usando la extensión Mercurial Convert

Agregue las siguientes líneas a su .hgrc o para habilitar la extensión:

[extensions]
hgext.convert=

Y escribiendo a

cd src
hg convert --datesort . dst

(a pesar de que puede conducir a algunos problemas...)

Nota:: metrix informa que esto podría no funcionar:

     hg convert --datesort src dst

Nota: sucede que hay un error con hg convert si ejecuta este comando desde un directorio que no sea el directorio de origen.
Usted obtendrá el siguiente error:

abort: cannot read tags from git-repo4/.git

Confirmado con git 1.7.9 y Mercurial 2.6.2 en Windows XP

 39
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:56

Es posible que desee mirar el http://hg-git.github.com / utilidad: un plugin de Git para Mercurial

Este plugin fue desarrollado originalmente por los chicos de GitHub, y permite la conversión de gitmercurial sin pérdidas. En teoría, incluso podría ser capaz de clonar el repositorio hg.

 17
Author: vdboor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-25 12:11:11

Control de revisión distribuido con Mercurial estados:

Las herramientas de control de revisiones soportadas por convert son los siguientes:

  • Subversion
  • CVS
  • Git
  • Darcs

Así que tal vez usted no necesita ninguna herramienta adicional?

 9
Author: Bombe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-29 13:33:04

La extensión convert puede funcionar para usted, pero si no lo hace, es posible que desee revisar tailor que es una herramienta de propósito general para convertir entre los diversos SCM distribuidos.

 6
Author: Luke Francl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-26 01:36:28

Simplemente no se puede convertir en absoluto. Solo tiene que utilizar el Hg-Git plugin! Nadie notará la diferencia.

 2
Author: Jay Atkinson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-29 05:26:41

Nuevo jugador en la ciudad: git-remote-hg. Proporciona soporte de puente nativo en git.

Solo:

hg init ../hgrepo
git push hg::$PWD/../hgrepo
 2
Author: FelipeC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-13 02:41:47

En la carpeta Git con todos mis repositorios Git he creado el archivo Git2Hg.cmd con el siguiente contenido:

set PATH=%PATH%;C:\Program Files\TortoiseHg
set PATH=%PATH%;C:\Program Files\Git\bin
hg convert %1

Ahora puedo convertir un repositorio Git a Hg escribiendo esto en un CMD:

Git2Hg "Folder Name"
 1
Author: stenci,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-07 16:32:10

Hg-Git Plugin o si u uso para windows o migración de uno a otro visita aquí 2[Windows GIT]

 0
Author: dilshad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-11 09:48:03