2010-11-19 14 views
11

Tengo un proyecto en el que estoy usando Bitbucket como mi servidor HG, pero recientemente descubrí que, como desarrollador solitario, puedo usar Fogbugz/Kiln de forma gratuita. Quiero mover mis archivos a Kiln, pero no quiero perder mi historial. Estoy seguro de que hay una forma estúpida y fácil de hacerlo, pero no lo sé. ¿Cómo hago esto?¿Cómo migro de un servidor Mercurial a otro sin perder mi historial?

Gracias!

Respuesta

11

Crear la nueva operación del proyecto y hacer lo siguiente con su copia actual de la cesión temporal originales: hg push new-repo-path.

Luego usa la nueva ruta en el futuro. Puedes eliminar el repositorio bitbucket.

Con Mercurial, toda la historia se encuentra en cada copia del repositorio, incluidas sus copias locales.

+0

ok cool ... luego, después de presionar, ¿cloné desde la nueva ruta de repositorio para que el futuro empuje la redirección allí? – Jason

+0

@Jason no: simplemente puede editar '.hg/hgrc' y actualizar la ruta del repositorio predeterminado. Cualquier repo de Mercurial puede empujar/tirar a cualquier otra copia del mismo repositorio sin problemas, y no hay nada más que '.hg/hgrc' atando un repositorio a su fuente original. –

3

Dado que ya está utilizando Mercurial. Solo tenía curiosidad, no debería ser suficiente clonar su repositorio en Fogbugz/Kiln.

hg clone "BitBucket Repo ..." 

Por supuesto, esto no copiará su archivo hgrc por repositorio. Tendrá que hacer eso por separado.

Otro enfoque es utilizar el paquete.

hg bundle --all bitbucket.bundle 
hg clone bitbucket.bundle my_repo 

Tercer enfoque es empujar o tirar de bitpocket repo a fogbugz repo.

de valores predeterminados

Ver: https://www.mercurial-scm.org/wiki/TipsAndTricks.

reproducirla aquí:

Es posible almacenar una URL de comando predeterminado que se utilizará cuando se escribe sólo 'hg push'. Editar hgrc y añadir algo como:

[paths] 
default-push = ssh://[email protected]/path 
+0

pensé simplemente en clonar mi repositorio, pero quiero asegurarme de que cuando 'hg push' vaya al nuevo repositorio fogbugz en lugar de a bitbucket – Jason

+0

@Jason: que debe hacer estableciendo los valores predeterminados. Ver mi respuesta editada. – pyfunc

0

Las otras respuestas ya han explicado que justo después de crear un nuevo repositorio vacío, puede insertar sus cambios en él con hg push http://example.com/hg/newrepo. (Tenga en cuenta que una vez que haya introducido algunos cambios en él, solo aceptará cambios de repositorios relacionados en el futuro).

Lo que también parece que se preguntan también es cómo configurar su repositorio local para impulsarlo ubicación por defecto, sin necesidad de especificar la URL cada vez. Puede hacerlo editando el default location en el archivo .hg\hgrc de su repositorio. Es un archivo de texto que puede abrir con un bloc de notas o cualquier otro editor de texto.

Cuestiones relacionadas