repositorio funciona como mercurial

funciona - Al usar Mercurial HG, ¿cómo obtener el código más reciente?



mercurial download (6)

En resumen, no.

En un poco más de tiempo: Mercurial todavía no admite clones “superficiales” en los que solo obtienes parte de la historia. Por lo tanto, cada vez que clonas, obtienes todo el repositorio con todos los conjuntos de cambios.

Además, a diferencia de Subversion, no hay forma de hacer un clon “estrecho” donde solo se registra una parte de un repositorio. Por ejemplo, si un repositorio tiene directorios foo/ y bar/ , no hay forma de obtener solo el directorio bar/ . En otras palabras, Mercurial siempre opera en instantáneas de todo el proyecto.

Soy nuevo en Mercurial HG. Mis amigos crearon un repo y lo voy a usar. Instalé TortoiseHG e intenté obtener el código más reciente. Descubrí que al usar la operación de clonación, arrastrará todo el código a mi local, incluidas las historias (¿Tengo razón?). Esto no es necesario para mí. Sólo quiero obtener el último código. ¿Hay una operación para esto?


La forma más fácil de lograr lo que quieres:

hg archive [destination folder]


Por supuesto. Clone el repositorio, luego elimine el subdirectorio .hg.


Puede que sea un poco tarde, pero en realidad es posible olvidar algo de historia con Mercurial. Solo necesita habilitar la extensión de conversión de su archivo mercurial.ini o archivo .hgrc.

[extensions] hgext.convert=

Ahora puede usar la extensión de conversión para "clonar" solo los conjuntos de cambios a partir de la revisión especificada.

hg convert --config convert.hg.startrev=[wheretostart] path_to_full_history_repo path_to_new_repo

Solo tenga en cuenta que esta no es la misma operación con hg clone. Es por eso que el repositorio de origen debe ser un repositorio local. Por ejemplo, si tenemos un repositorio en la carpeta MyProject y queremos olvidar todos los cambios realizados antes de la revisión 100. Podemos usar el siguiente comando:

hg convert --config convert.hg.startrev=[100] MyProject MyShrinkedProject

Si va a utilizar este repositorio reducido en un "servidor central", recuerde que debe encargarse de que todo el mundo lo clone antes de continuar trabajando. Los repositorios ya no son compatibles entre sí.


Si solo desea el código más reciente, y no tiene intención de hacer nada relacionado con el repositorio con él, como commit, o diff para versiones anteriores, o lo que sea, entonces depende de dónde obtuvo el código y cómo.

Si está usando uno de los servicios de alojamiento, como bitbucket, generalmente hay un enlace de descarga que le da solo el código fuente.

Por ejemplo, si va here , hay un enlace "Obtener fuente" hacia arriba y hacia la derecha que le ofrece algunas opciones en el formato de archivo (zip o lo que sea).

Si tienes los archivos en otro lugar, necesitas explorar la interfaz de la que los obtuviste. Intente simplemente pegar el enlace que ha clonado en su navegador y ver qué obtiene.


Una vez que haya clonado un repositorio, para obtener el código de la "sugerencia" (la última versión de la rama actual, la predeterminada si no está precisa), solo debe update .

Tienes una acción de actualización en TortoiseHG. Una vez hecho esto, puedes mirar los archivos en la carpeta.

Si deseaba otro estado del repositorio (una versión anterior o un estado etiquetado anterior), sigue siendo el comando de update , con otros parámetros (consulte la documentación o la interfaz TortoiseHG).