Salida extraña para log de git: se fusiona cuando se fusionan twigs de características

Tengo el siguiente tree de repository de Git:

C |\ | B |/ AA: No parents. Initial commit. Contains foo with content "ABC". B: Parents: A. "Commit on feature branch". Contains foo with content "XYZ". C: Parents: A, B. "Merge of feature branch". Contains foo with content "XYZ". 

Esperaba que git log --merges foo me mostrara commit C , sin embargo, ¡el log está vacío! Solo si especifico también --first-parent , muestra la fusión commit C ¿Por qué es así? ¿Es esto un error en la simplificación de la historia pnetworkingeterminada de Git?

Desafortunadamente, el ejemplo de simplificación de historial en los documentos de Git ( https://git-scm.com/docs/git-log#_history_simplification ) no contiene la misma situación que aquí (aunque probablemente sea la situación más común … )

¿Alguien sabe, qué pasa? Estoy bastante seguro de que tiene que ver con el algorithm de simplificación de la historia pnetworkingeterminada de Git, porque si especifico --full-history se muestra la confirmación de fusión C

¿El valor pnetworkingeterminado sigue solo al segundo padre en una confirmación por algún motivo?

He hecho la misma pregunta en la list de correo de Git y obtuve una respuesta adecuada:

Solicitar el logging para un solo file de hecho activa la simplificación de la historia. Como la confirmación C utilizó por completo B, el set de cambios en A se borró de la salida de logging. La comparación con B es TREESAME y, por lo tanto, también se poda -> sin salida.

Ver http://thread.gmane.org/gmane.comp.version-control.git/281256 para más información.