This is a mixed bag. Your changes to mailinfo is fine, and I think it may make even more sense to also parse out In-Reply-To: and References: to capture the message context better. On the other hand, I'd NAK changes to pretty.c and commit-tree.c; it is wrong to place that information in new commit object header. The commit object header is a place to store information common to all commit objects (authorship and committer) and the structural information that is required to correctly handle the commit objects (pointers to trees and commits, and encoding that tells what the message part is in if it is not in UTF-8). Just like workflows inspired by the kernel project use Signed-off-by: and Acked-by: information in the commit message part to keep track of the flow of patches, and some distro folks say "Closes #nnn" in their messages to close their issue tracking system entries, your "message" is information only useful to a particular workflow and convention, and belongs to the commit log message body, not in the object header. Wouldn't it work equally well to use applypatch-msg hook? Use your updated mailinfo to parse necessary information out of the incoming message, and add Message-ID: to the commit log messsage, perhaps at the end, in that hook? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html