diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-07-19 09:54:51 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-07-19 09:54:51 -0700 |
commit | d907bf8ef327cd47433d4a4bb0a1bb4e96b6e340 (patch) | |
tree | 2475a33111f13c32a4e8540fb9d273bee0c5c601 /pack.h | |
parent | 54dbc1f9e6451b6673835259ce8aa450489fc420 (diff) | |
parent | 3de89c9d4216d0fdc11bd1141c419ac4d0d35fed (diff) | |
download | git-d907bf8ef327cd47433d4a4bb0a1bb4e96b6e340.tar.gz |
Merge branch 'jc/index-pack'
* jc/index-pack:
verify-pack: use index-pack --verify
index-pack: show histogram when emulating "verify-pack -v"
index-pack: start learning to emulate "verify-pack -v"
index-pack: a miniscule refactor
index-pack --verify: read anomalous offsets from v2 idx file
write_idx_file: need_large_offset() helper function
index-pack: --verify
write_idx_file: introduce a struct to hold idx customization options
index-pack: group the delta-base array entries also by type
Conflicts:
builtin/verify-pack.c
cache.h
sha1_file.c
Diffstat (limited to 'pack.h')
-rw-r--r-- | pack.h | 23 |
1 files changed, 19 insertions, 4 deletions
@@ -34,9 +34,24 @@ struct pack_header { */ #define PACK_IDX_SIGNATURE 0xff744f63 /* "\377tOc" */ -/* These may be overridden by command-line parameters */ -extern uint32_t pack_idx_default_version; -extern uint32_t pack_idx_off32_limit; +struct pack_idx_option { + unsigned flags; + /* flag bits */ +#define WRITE_IDX_VERIFY 01 + + uint32_t version; + uint32_t off32_limit; + + /* + * List of offsets that would fit within off32_limit but + * need to be written out as 64-bit entity for byte-for-byte + * verification. + */ + int anomaly_alloc, anomaly_nr; + uint32_t *anomaly; +}; + +extern void reset_pack_idx_option(struct pack_idx_option *); /* * Packed object index header @@ -55,7 +70,7 @@ struct pack_idx_entry { off_t offset; }; -extern const char *write_idx_file(const char *index_name, struct pack_idx_entry **objects, int nr_objects, unsigned char *sha1); +extern const char *write_idx_file(const char *index_name, struct pack_idx_entry **objects, int nr_objects, const struct pack_idx_option *, unsigned char *sha1); extern int check_pack_crc(struct packed_git *p, struct pack_window **w_curs, off_t offset, off_t len, unsigned int nr); extern int verify_pack_index(struct packed_git *); extern int verify_pack(struct packed_git *); |