[PATCH v2 4/5] replay: die if we cannot parse object
- From
- kristofferhaugsbakk@fastmail.com <kristofferhaugsbakk@fastmail.com>
- Date
- Dec 30, 2025, 15:01 UTC
- Message-ID
- <V2_die_cannot_parse_obj.17f@msgid.xyz>
- In-Reply-To
- <V2_CV_replay_die_descr.17b@msgid.xyz>
From: Kristoffer Haugsbakk <code@khaugsbakk.name>
`parse_object` can return `NULL`. That will in turn make `repo_peel_to_type` return the same.
Let’s die fast and descriptively with the `*_or_die` variant.
Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name> ---
Notes (series):
v2: [new]
See: https://lore.kernel.org/git/xmqqikdxriw3.fsf@gitster.g/
With the `*_or_die` function we don’t have to check it at the call site.builtin/replay.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/replay.c b/builtin/replay.c index 07a6767ade1..ca5a14de4c7 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -34,11 +34,11 @@ static struct commit *peel_committish(struct repository *repo, struct object *obj; struct object_id oid; if (repo_get_oid(repo, name, &oid)) die(_("'%s' is not a valid commit-ish for %s"), name, mode); - obj = parse_object(repo, &oid); + obj = parse_object_or_die(repo, &oid, name); return (struct commit *)repo_peel_to_type(repo, name, 0, obj, OBJ_COMMIT); } static char *get_author(const char *message)
-- 2.52.0.10.g08704017180