threads / discuss / 2010

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

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

## tl;dr

One message between Oct 4, 2005 and Oct 4, 2005.

replies: 0people: 1as markdown or json

Junio C Hamano· Oct 4, 2005, 07:28 UTC · lore

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,
    ...

← back to recent threads