MCPcopy Create free account
hub / github.com/git/git / offset_to_pack_pos

Function offset_to_pack_pos

pack-revindex.c:433–458  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431}
432
433int offset_to_pack_pos(struct packed_git *p, off_t ofs, uint32_t *pos)
434{
435 unsigned lo, hi;
436
437 if (load_pack_revindex(p->repo, p) < 0)
438 return -1;
439
440 lo = 0;
441 hi = p->num_objects + 1;
442
443 do {
444 const unsigned mi = lo + (hi - lo) / 2;
445 off_t got = pack_pos_to_offset(p, mi);
446
447 if (got == ofs) {
448 *pos = mi;
449 return 0;
450 } else if (ofs < got)
451 hi = mi;
452 else
453 lo = mi + 1;
454 } while (lo < hi);
455
456 error("bad offset for revindex");
457 return -1;
458}
459
460uint32_t pack_pos_to_index(struct packed_git *p, uint32_t pos)
461{

Callers 13

bitmap_position_packfileFunction · 0.85
try_partial_reuseFunction · 0.85
get_disk_usage_for_typeFunction · 0.85
get_delta_base_oidFunction · 0.85
retry_bad_packed_offsetFunction · 0.85
unpack_entryFunction · 0.85
write_reuse_objectFunction · 0.85
write_reused_pack_oneFunction · 0.85
write_reused_packFunction · 0.85
want_cruft_object_mtimeFunction · 0.85

Calls 3

load_pack_revindexFunction · 0.85
pack_pos_to_offsetFunction · 0.85
errorFunction · 0.85

Tested by

no test coverage detected