2010-04-01 9 views
5

¿Es posible update un directorio para una revisión específica sin clonar todo el repositorio (local o en un servidor central) en Mercurial y cómo puedo usarlo? Esto sería genial, porque para clone todo el repositorio primero me lleva mucho tiempo y la carpeta realmente no necesita todo el repositorio. Como ejemplo: predeterminado y la rama b2.3 desde la que deseo actualizar.HG: ¿Actualizar un directorio a una revisión específica sin clonar todo el repositorio?

¡Gracias de antemano! :)

+2

Quizás haya combinado proyectos independientes en un único repositorio? Esta es una práctica común con Subversion, pero los sistemas de control de revisión distribuidos son diferentes. Además, lo que realmente estás preguntando es cómo hacer un clon "estrecho" o "parcial", un concepto que aún no apoyamos. Hay una página wiki aquí: http://mercurial.selenic.com/wiki/PartialClone –

+1

sí, cambiamos de svn a hg :) maybie debemos simplemente dividir los proyectos en repositorios, pero tienen dependencias entre sí. porque un clon normal es de tiempo y tamaño? Consume y el repositorio ya es local (por qué tenerlo en dos lugares) un clon parcial [p. hg clone -p o --partial] sería quizás grandioso (o si hay una solución fácil para hacerlo rápido y con el historial de versiones) – Joschua

Respuesta

7

Puede tirar de una rama específica, digamos b2.3 usando hg clone -r b2.3 source-repo target-repo.

Si realmente necesita una copia sin versión de todos los archivos en la revisión N, entonces para algunos repositorios web puede descargar dicha copia usando su interfaz web.

1

clone es la forma preferida de hacerlo en Mercurial. Debe tomar una cantidad mínima de tiempo cuando se realiza localmente. No estoy enterado de ninguna otra forma de hacerlo.

Busque "enlaces duros" en this tutorial page para obtener más información sobre el tema.

+0

no aquí toma mucho tiempo – Joschua

+0

@Joschua: recuerde que solo necesita hacer el copia completa una vez. Cuando tenga todo el historial en su máquina, puede hacer 'hg clone -r b2.3 foo bar' para hacer una copia rápida con solo parte del historial. El punto clave es que no tiene que volver a contactar al servidor para los conjuntos de cambios que ya tiene localmente. –

Cuestiones relacionadas