rebase: be stricter when reading state files containing oids
The state files for 'onto' and 'orig_head' should contain a full hex oid, change the reading functions from get_oid() to get_oid_hex() to reflect this. They should also name commits and not tags so add and use a function that looks up a commit from an oid like lookup_commit_reference() but without dereferencing tags. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
05ec41855d
commit
b8dbfd030c
13
commit.h
13
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);
|
||||
struct commit *lookup_commit_reference(struct repository *r,
|
||||
const struct object_id *oid);
|
||||
|
||||
Reference in New Issue
Block a user