2009-12-01 12 views
9

A veces cuando hago un tirón en lugar de un rebase después de un simple cambio de un archivo cometer veo el siguiente en el registro maestro:¿Qué es una combinación de trivial en git?

Trivial fusionar

Pero no hay diff de lo que ha cambiado? ¿Cuál es el objetivo de este mensaje de registro? ¿Cambió algo que no sé? Me asusta.

Respuesta

12

git no inserta este mensaje en el registro en cualquier momento. Voy a tomar una conjetura salvaje y asumir que usted ha visto este mensaje en gitweb.

impresiones gitweb este mensaje si no hay salida de un diff combinado. Esto sucede cuando las únicas diferencias estaban todos en trozos eran sólo una cara de la fusión cambiado, y este cambio se produjo sin modificación en la combinación. Esto básicamente significa que no hubo conflictos y no se agregó nada de magia en el compromiso de fusión.

2

git página de ayuda de fusión (la que se obtiene escribiendo "git ayuda de combinación") afirma:

que recibieron el mismo parche desde una fuente externa para producir el mismo resultado que lo que está fusionando

+0

No estoy seguro de dónde encontró esto, pero esto no ha sido parte de la página de ayuda de git merge desde v1 .5. *. –

2

confirmo el único lugar en el código base de git en la que aparece el mensaje "Combinar Trivial" está en gitweb.perl, en el git_patchset_body() function (derecha here):

if ($patch_number == 0) { 
    if (@hash_parents > 1) { 
     print "<div class=\"diff nodifferences\">Trivial merge</div>\n"; 
    } else { 
     print "<div class=\"diff nodifferences\">No differences found</div>\n"; 
    } 
} 

El documento (incluidos en la documentación Git) trivial-merge.txt hace explique en detalle todos los casos que resulten en una "fusión trivial" (y fueron discutidos en this thread)

+0

Gracias por la información adicional! –

Cuestiones relacionadas