2011-03-02 23 views
15

¿Cuándo exactamente usaría hg export y hg bundle?Uso del paquete mercurial hg y la exportación de hg frente a la fusión?

Estos comandos se enumeran en el inicio rápido de Mercurial guide, pero no tenemos claro cuándo usarlos.

Actualmente gestionamos el desarrollador mediante diferentes repositorios y fusionándolos. Es decir:

cd myapp-1.01 
hg pull ../myapp-1.0 
hg merge 
hg commit 
hg push 

¿Cuándo utilizaría exportar y agrupar en lugar del enfoque que usamos?

Respuesta

19

La principal diferencia es si el conjunto de cambios principal existe o no en el repositorio de destino. Si por ejemplo tu repositorio de origen tiene esto:

[A]--[B]---[C] 

y su destino tiene esto:

[A]--[B] 

y que desea enviar [C] se puede usar paquete (o simplemente push/pull).

Sin embargo, si su repositorio de destino, han manifestado:

[A]--[D] 

y quisiera agregar [C] para que usted tendría que utilizar la exportación e importación.

En resumen: bundle es para cuando quiere hacer push/pull pero no tiene una buena ruta de red, y export es para cuando desea enviar el contenido lógico de un conjunto de cambios en lugar de ese conjunto de cambios específico y exacto .

+1

Para complementar lo que dijo @ Ry4an: Un paquete insertará el conjunto de cambios en la misma ubicación que en el repositorio original, lo que significa que en el nuevo repositorio terminará (normalmente) con un nuevo encabezado. – Alex

5
  • Bundle es un mejor ajuste para guardar un intervalo especificado de conjuntos de cambios en un archivo para una fácil transferencia (como, enviarlos por correo electrónico a aplicar a un repositorio diferente en otro lugar).

    De hg --help bundle:

    El archivo de paquete puede ser entonces transferidos usando medios convencionales y se aplicó a otro repositorio con la Unbundle o tirar de comando. Esto es útil cuando no están disponibles el empuje y extracción directa o cuando no se desea exportar un repositorio entero .

  • exportación parece generar una lista de cabeceras + ficheros para un rango de conjuntos de cambios, pero el archivo de ayuda no menciona si esto ayuda a automatizar la transferencia a otro lugar.

    Además, el argumento de salida del archivo para exportar es formatable de acuerdo con el número de revisión, etc., lo que me lleva a creer que el comando se usaría comúnmente para guardar revisiones de forma que sea más fácil para usted mirarlas (como archivos)

Cuestiones relacionadas