This is not an RFC any more, but a serious series. Occasionally a user is given an object hash from a blob as an error message or other output (e.g. [1]). It would be useful to get a further description of such a blob, such as the (commit, path) tuple where this blob was introduced. This implements the answer in builtin/describe, however the heuristics are weak. See patch 6 for details. Any feedback welcome, Thanks, Stefan [1] https://stackoverflow.com/questions/10622179/how-to-find-identify-large-files-commits-in-git-history Stefan Beller (7): list-objects.c: factor out traverse_trees_and_blobs revision.h: introduce blob/tree walking in order of the commits builtin/describe.c: rename `oid` to avoid variable shadowing builtin/describe.c: print debug statements earlier builtin/describe.c: factor out describe_commit builtin/describe.c: describe a blob t6120: fix typo in test name Documentation/git-describe.txt | 12 +++- builtin/describe.c | 125 ++++++++++++++++++++++++++++++++--------- list-objects.c | 50 ++++++++++------- revision.c | 2 + revision.h | 3 +- t/t6100-rev-list-in-order.sh | 44 +++++++++++++++ t/t6120-describe.sh | 17 +++++- 7 files changed, 203 insertions(+), 50 deletions(-) create mode 100755 t/t6100-rev-list-in-order.sh -- 2.15.0.rc2.443.gfcc3b81c0a