Descomprimir un file antes de fusionar versiones en Git

Tengo un file en mi repository que es esencialmente un file XML comprimido.

He resuelto cómo especificar el método de difusión para que las diferencias entre dos versiones sean legibles por humanos, agregando una línea a .gitattributes.

Me preguntaba si habría una forma similar de descomprimir el file antes de fusionarlo, de modo que pudiera fusionarse como si fuera un file XML, en lugar de un file binary.

Muchas gracias

Puede escribir fácilmente un controller de combinación personalizado que descomprime las inputs primero. Sin embargo:

… para que pueda fusionarse como si fuera un file XML

Es extremadamente difícil (leer: imposible) combinar correctamente XML con las herramientas proporcionadas con Git. Consulte ¿Se puede hacer en la mayoría de los casos auto-combinar files XML insensibles a la order? para detalles. En otras palabras, una vez que haya descomprimido los tres files de input, no hay una acción correcta para fusionar el XML.

Lo dice como si lo fuera , por lo que tal vez una fusión de text sin formatting funcionará para su text que no sea XML pero XML. En este caso, consulte git merge-file , que realizará una combinación tripartita de los files de text proporcionados por el usuario. Si la fusión va bien, puede volver a comprimir el resultado, eliminar los files intermedios descomprimidos y llamar al resultado suficiente. De lo contrario, probablemente deba dejar los tres files originales descomprimidos para que el usuario se fusione manualmente. (Esta parte, por supuesto, depende de usted).