in lib/grit/git-ruby/internal/pack.rb [142:160]
def each_entry
with_idx do |idx|
if @version == 2
data = read_data_v2(idx)
data.each do |sha1, crc, offset|
yield sha1, offset
end
else
pos = OffsetStart
@size.times do
offset = idx[pos,OffsetSize].unpack('N')[0]
sha1 = idx[pos+OffsetSize,SHA1Size]
pos += EntrySize
yield sha1, offset
end
end
end
end