in lib/grit/git-ruby/internal/pack.rb [48:77]
def with_idx(index_file = nil)
index_file ||= @name[0...-4] + 'idx'
begin
idxfile = File.open(index_file, 'rb')
rescue Errno::ENOENT => boom
return
end
sig = idxfile.read(4)
ver = idxfile.read(4).unpack("N")[0]
if sig == PACK_IDX_SIGNATURE
if(ver != 2)
raise PackFormatError, "pack #@name has unknown pack file version #{ver}"
end
@version = 2
else
@version = 1
end
idx = FileWindow.new(idxfile, @version)
yield idx
idx.unmap
ensure
idxfile.close if idxfile
end