5 struct pack_idx_entry idx;
6 unsigned long size; /* uncompressed size */
7 struct packed_git *in_pack; /* already in pack */
9 struct object_entry *delta; /* delta base object */
10 struct object_entry *delta_child; /* deltified objects who bases me */
11 struct object_entry *delta_sibling; /* other deltified objects who
12 * uses the same base as me
14 void *delta_data; /* cached delta (uncompressed) */
15 unsigned long delta_size; /* delta data size (uncompressed) */
16 unsigned long z_delta_size; /* delta data size (compressed) */
17 enum object_type type;
18 enum object_type in_pack_type; /* could be delta */
19 uint32_t hash; /* name hint hash */
20 unsigned int in_pack_pos;
21 unsigned char in_pack_header_size;
22 unsigned preferred_base:1; /*
23 * we do not pack this, but is available
24 * to be used as the base object to delta
27 unsigned no_try_delta:1;
28 unsigned tagged:1; /* near the very tip of refs */
29 unsigned filled:1; /* assigned write-order */
32 * State flags for depth-first search used for analyzing delta cycles.
42 struct object_entry *objects;
43 uint32_t nr_objects, nr_alloc;
49 struct object_entry *packlist_alloc(struct packing_data *pdata,
50 const unsigned char *sha1,
53 struct object_entry *packlist_find(struct packing_data *pdata,
54 const unsigned char *sha1,
57 static inline uint32_t pack_name_hash(const char *name)
65 * This effectively just creates a sortable number from the
66 * last sixteen non-whitespace characters. Last characters
67 * count "most", so things that end in ".c" sort together.
69 while ((c = *name++) != 0) {
72 hash = (hash >> 2) + (c << 24);