Re: [PATCH v4 3/8] rebase: be stricter when reading state files containing oids
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 17, 2022, 18:51 UTC
- Message-ID
- <xmqqtu42z3k8.fsf@gitster.g>
- In-Reply-To
- <1d5e0419c45087c474f33d5ea6b3bcdacd072fa5.1666012665.git.gitgitgadget@gmail.com>
Show 10 quoted lines
> diff --git a/commit.c b/commit.c > index 0db461f9735..de30b098dd3 100644 > --- a/commit.c > +++ b/commit.c > @@ -59,6 +59,14 @@ struct commit *lookup_commit_or_die(const struct object_id *oid, const char *ref > return c; > } > > +struct commit *lookup_commit_object (struct repository *r, > + const struct object_id *oid)
Let's lose the SP before opening parenthesis (I'll do that while queuing unless I forget ;-).
Show 31 quoted lines
> +{
> + struct object *obj = parse_object(r, oid);
> + return obj ? object_as_type(obj, OBJ_COMMIT, 0) : NULL;
> +
> +}
> +
> struct commit *lookup_commit(struct repository *r, const struct object_id *oid)
> {
> struct object *obj = lookup_object(r, oid);
> diff --git a/commit.h b/commit.h
> index 21e4d25ce78..fa39202fa6b 100644
> --- a/commit.h
> +++ b/commit.h
> @@ -64,6 +64,19 @@ enum decoration_type {
> void add_name_decoration(enum decoration_type type, const char *name, struct object *obj);
> const struct name_decoration *get_name_decoration(const struct object *obj);
>
> +/*
> + * Look up commit named by "oid" respecting replacement objects.
> + * Returns NULL if "oid" is not a commit or does not exist.
> + */
> +struct commit *lookup_commit_object(struct repository *r, const struct object_id *oid);
> +
> +/*
> + * Look up commit named by "oid" without replacement objects or
> + * checking for object existence. Returns the requested commit if it
> + * is found in the object cache, NULL if "oid" is in the object cache
> + * but is not a commit and a newly allocated unparsed commit object if
> + * "oid" is not in the object cache.
> + */
> struct commit *lookup_commit(struct repository *r, const struct object_id *oid);I was going to ask documenting the differences of the two API functions, which is done here. Good.
> struct commit *lookup_commit_reference(struct repository *r, > const struct object_id *oid);