This now looks like this (pasting because it is hard to see in the diffs):
static int add_object_entry(const unsigned char *sha1, enum object_type type,
const char *name, int exclude)
{
struct packed_git *found_pack;
off_t found_offset;
uint32_t index_pos; if (have_duplicate_entry(sha1, exclude, &index_pos))
return 0; if (!want_object_in_pack(sha1, exclude, &found_pack, &found_offset))
return 0; create_object_entry(sha1, type, pack_name_hash(name),
exclude, name && no_try_delta(name),
index_pos, found_pack, found_offset); display_progress(progress_state, to_pack.nr_objects);
return 1;
} static int add_object_entry_from_bitmap(const unsigned char *sha1,
enum object_type type,
int flags, uint32_t name_hash,
struct packed_git *pack, off_t offset)
{
uint32_t index_pos; if (have_duplicate_entry(sha1, 0, &index_pos))
return 0; create_object_entry(sha1, type, name_hash, 0, 0, index_pos, pack, offset);
display_progress(progress_state, to_pack.nr_objects);
return 1;
}Much nicer. Thanks for going the extra mile!