X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=object.h;h=6accda33d8c8d6b8ef33a4df50bf350d9f088dc6;hb=a60d2d8f2dbeb7025e04dd65fc2dedd8271c9cc6;hp=9ad4ae83e12ab84c94eacfa3a8db1bd01e987c2a;hpb=9ce43d1c90dc199bf8ced85fa5fdadc152753022;p=git.git diff --git a/object.h b/object.h index 9ad4ae83..6accda33 100644 --- a/object.h +++ b/object.h @@ -10,15 +10,14 @@ struct object_list { struct object { unsigned parsed : 1; unsigned used : 1; - unsigned delta : 1; unsigned int flags; unsigned char sha1[20]; const char *type; struct object_list *refs; - struct object_list *attached_deltas; void *util; }; +extern int track_object_refs; extern int nr_objs; extern struct object **objs; @@ -33,8 +32,21 @@ void created_object(const unsigned char *sha1, struct object *obj); /** Returns the object, having parsed it to find out what it is. **/ struct object *parse_object(const unsigned char *sha1); +/** Returns the object, with potentially excess memory allocated. **/ +struct object *lookup_unknown_object(const unsigned char *sha1); + void add_ref(struct object *refer, struct object *target); void mark_reachable(struct object *obj, unsigned int mask); +struct object_list *object_list_insert(struct object *item, + struct object_list **list_p); + +void object_list_append(struct object *item, + struct object_list **list_p); + +unsigned object_list_length(struct object_list *list); + +int object_list_contains(struct object_list *list, struct object *obj); + #endif /* OBJECT_H */