¿Cómo puedo convertir un repositorio de Mercurial a Git... en *Windows*? [duplicar]

Posible duplicado:
Conversión de un repositorio de Mercurial (hg) a Git en Windows (7)

Hay un repositorio de Mercurial que quiero convertir a Git, que es lo que usamos en el trabajo. Tengo Mercurial (para Windows) instalado y ya he clonado el repositorio de Hg localmente. Estoy atascado tratando de convertirlo.

La mayoría de las páginas que encontré asumen que estoy usando Unix/Linux, y la recomendación más común, hg-fast-export, parece funcionar solo en esos sistemas operativos. Tengo acceso a Git Bash. He llegado tan lejos como esto (envuelto en línea para facilitar la lectura):

$ ~/codeingit/fast-export/hg-fast-export.sh -r
        ~/codeinmercurial/projectiwanttoconvert

En respuesta, obtengo:

ImportError: ningún módulo llamado mercurial

He leído varias páginas web sobre esto que, nuevamente, asumen que estoy usando Unix/Linux y que tengo Mercurial instalado para eso.

¿Hay alguien que haya convertido con éxito un repositorio de Hg a Git en Windows, y puede escribir una guía paso a paso para hacerlo?

preguntado el 04 de julio de 12 a las 00:07

Técnicamente, siempre existe la solución clásica de 3 pasos que funciona en casos como este: 1) obtenga VMWare-Player, 2) obtenga una distribución de Linux de su elección, 3) siga las guías basadas en Linux :-) -

@cpeisert, vi ese, pero no hay suficientes detalles para que pueda hacer lo que quiero hacer, a menos que cygwin realmente incluya mercurial, python, etc. fuera de la caja. ¿Lo hace? -

@Kyralessa, Sí, el Cygwin paquetes incluir mercurial, pitón y git fuera de la caja, así como cualquier otra cosa que pueda necesitar. -

@cpeisert, esa es una página llena de cosas con las que no sé qué hacer. Finja que no sé nada sobre Linux/Unix y que no quiero aprenderlo todo hoy, sino que solo quiero hacer esta tarea. ¿Qué haría yo, paso a paso? No me importa instalar cosas si me ayuda a hacer la tarea. -

@George Stocker, si esa pregunta hubiera ayudado, no habría abierto esta. -

1 Respuestas

1) Instalar Cygwin or Bash en Windows 10

Cygwin

  • Corral setup.exe
  • Selecciona Instalar desde internet
  • En la Seleccione Paquetes caja de diálogo:
    • Presione Instalar en la parte superior del árbol (junto a Todos) hasta que aparezca Predeterminado
    • Ampliar la Desarrollo subárbol: Instalar git (cambiar de omitir al número de versión)
    • En la Desarrollo subárbol: Instalar mercurial (cambiar de omitir al número de versión)
    • Instalar Python subárbol (cambio de Predeterminado a Instalar)
    • Haga clic en Siguiente
  • Si se le solicita que resuelva las dependencias, haga clic en Siguiente
  • Toma una taza de café, mira tu película favorita o toma una siesta larga

Una vez completada la instalación de Cygwin, abra un shell bash para ejecutar los comandos indicados en los pasos a continuación. El acceso directo a bash se llamará Terminal Cygwin.

Windows 10

  • Instalar Bash en Windows 10
  • Tomar una taza de cafe
  • Abre Bash y escribe lo siguiente:
    • sudo apt install git
    • sudo apt instalar mercurial

2) Instalar exportación rápida

Abrir terminal (bash shell) e instalar exportación rápida:

   https://github.com/frej/fast-export.git

3) Inicialice el nuevo repositorio git y migre el repositorio mercurial

   mkdir new_git_repo cd new_git_repo git init ../fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo git checkout HEAD


Error potencial

fatal: Invalid raw date "<devnull@localhost> xxx -xxxx" in ident:  <><devnull@localhost> xxx -xxxx

Intente agregar un archivo "authors.txt" como se describe aquí, que contiene:

<>=devnull <devnull@localhost>

La línea de comando ahora dice:

../fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo -A ../fast-export/authors

Respondido el 30 de diciembre de 17 a las 18:12

Gracias. Todavía no he tenido tiempo en el trabajo para probar esto, pero responderé cuando tenga tiempo en la próxima semana o dos para probarlo. - ryan lundy

después de probar muchos otros tutoriales de exportación "rápida", este lo hizo. - jake berger

Para cualquiera que intente convertir de Mercurial a Git (en Windows), esta es la mejor manera. Puede parecer una exageración, no lo es. Ahórrate muchos dolores de cabeza y sigue estos pasos. - ricardo oeste

Tenga en cuenta que si hubiera clonado fast-export de git para Windows, el script de shell “hg-fast-export.sh” puede tener terminaciones de línea de Windows (CR-LF), en cuyo caso el script no se ejecutará correctamente. - Benoit

Para aquellos de ustedes que no se sienten cómodos con el repositorio en el dominio .cz, pueden usar https://github.com/frej/fast-export en cambio (gracias a los comentarios en stackoverflow.com/a/6917665/284598). - GaTechThomas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.