Subject: [PATCH v2 0/2] rev-list: print additional missing object information

From: Justin Tobler <[email-masked]>
Date: Thu, 9 Jan 2025 23:34:16 -0600

Greetings,

It is possible to configure git-rev-list(1) to print the OID of missing
objects by setting the `--missing=print` option. While it is useful
knowing about these objects, it would be nice to have even more context
about the objects that are missing. Luckily, from an object containing
the missing object, it is possible to infer additional information the
missing object. For example, if the tree containing a missing blob still
exists, the tree entry for the missing object should contain path and
type information.

This series aims to provide a git-rev-list(1) option that, when combined
with the existing `--missing=print` option, prints other potentially
interesting information about the missing object.

- Patch 1 introduces the `--missing-info` option and supports printing
  the missing object path information.

- Patch 2 extends the `--missing-info` option to also print object type
  information about the missing object.

Changes in V2:

- A `--missing-info` option is now used instead of an explicit
  `--missing=print-type` option to print additional missing object info
  in a more generalized fashion. This enables other use cases outside of
  just the missing object type.

- Support for printing the full path of the missing object from the
  top-level tree is also added with `--missing-info`.

Due to all rearranging/changes in this version, I opted not to include a
range-diff.

Thanks,
-Justin

Justin Tobler (2):
  rev-list: add --missing-info to print missing object path
  rev-list: extend --missing-info to print missing object type

 Documentation/rev-list-options.txt |  15 +++++
 builtin/rev-list.c                 | 103 ++++++++++++++++++++++++-----
 t/t6022-rev-list-missing.sh        |  53 +++++++++++++++
 3 files changed, 156 insertions(+), 15 deletions(-)

base-commit: b74ff38af58464688b211140b90ec90598d340c6
-- 
2.47.1