git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFH] commit object name in git-diff-tree output header?

From
Junio C Hamano <junkio@cox.net>
Date
Oct 4, 2005, 07:28 UTC
Message-ID
<7virwdeo6j.fsf@assigned-by-dhcp.cox.net>

This is a request for help from your clueless/forgetful maintainer.

With a single commit as its parameter, 'git-diff-tree' outputs the name of the commit object when run without the -v flag as its first line, like this:

    $ git-diff-tree -p HEAD
    22a27042603fc9068ca562a8b5c46b3417f99777
    diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
    --- a/Documentation/git-apply.txt
    +++ b/Documentation/git-apply.txt
    @@ -9,7 +9,7 @@ git-apply - Apply patch on a GIT index f
     SYNOPSIS
     --------
     ...

I have a vague recollection to have seen some code that detects this ^[0-9a-f]{40}$ pattern and uses it as a separator between logical patchset, but I seem to be unable to find it now.

Does anybody have scripts that depend on this behaviour? This commit object name is carried over to format-patch output, and I would like to change it now. So if your own patch acceptance script relies on this behaviour, please speak up before I break it.

This has been the format since Jun 23, change made by Linus. Before that change, we used to say two commit object ID, like this:

    $ git-diff-tree -p HEAD
    aefa4a5... (from 5fca669...)
    diff --git a/apply.c b/apply.c
    --- a/apply.c
    +++ b/apply.c
    @@ -860,7 +860,6 @@ static int find_offset(const char *buf,
    ...
Message 1 of 1 in “[RFH] commit object name in git-diff-tree output header?”
  1. Junio C HamanoOct 4, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.