2010-04-24 17 views
5

Quiero usar Mercurial para capturar los cambios realizados en la instalación estándar de un software que utilizamos. Cada vez que actualizamos el software, necesitamos editar manualmente los diversos archivos de configuración y agregar bibliotecas de terceros que usamos en la versión actual del software. Crear parches para los cambios de los archivos de configuración está bien, pero ¿cómo puedo agregar bibliotecas de terceros (binarios) a un parche de Mercurial? ¿Es posible?¿Cómo puedo agregar binarios completos a un parche de Mercurial?

+0

Por favor recuerde upvote respuestas votos y aceptar el que más le guste. –

Respuesta

1

¡Incluso si es posible, no es recomendable! (para Mercurial o cualquier otro VCS)
Un sistema de control de versiones no está hecho para registrar binarios (principalmente porque crece rápidamente desproporcionado, ocupa mucho espacio en disco y no tiene forma eficiente de almacenarse en delta)

Debe registrar la configuración necesaria para cada versión que etiquete.
Eso puede ser un archivo de texto, o un maven pom por ejemplo. Cualquier cosa que permita que un mecanismo externo (como maven) descargue y almacene localmente las dependencias correctas.

Eso significa que su parche incluirá cambios en ese archivo de texto (pom por ejemplo), así como el resto de las modificaciones del código.

+0

Descubierto es posible (usando hg add seguido de hg qrefresh), pero tomo sus puntos a bordo VonC. Podría configurar un POM y un Nexus para manejar mi situación. Gracias por el consejo –

2

Sí, la extensión mq puede manejar datos binarios tan bien como datos textuales. Utilizará Git's extended patch format para guardar los datos binarios. Esto se maneja de forma transparente cuando actualiza un parche con archivos binarios modificados.

Si esta es una buena idea o no, hay otra pregunta: VonC es correcta cuando escribe que este no es el caso de uso normal de un sistema de control de versiones.

4

Si se va a tratar de conseguir el parche para la séptima revisión ...

hg export --git -r 7 -o 7.patch 
Cuestiones relacionadas