MCPcopy
hub / github.com/go-git/go-git / buildPackfileIters

Method buildPackfileIters

storage/filesystem/object.go:626–652  ·  view source on GitHub ↗
(
	t plumbing.ObjectType,
	seen map[plumbing.Hash]struct{},
)

Source from the content-addressed store, hash-verified

624}
625
626func (s *ObjectStorage) buildPackfileIters(
627 t plumbing.ObjectType,
628 seen map[plumbing.Hash]struct{},
629) (storer.EncodedObjectIter, error) {
630 if err := s.requireIndex(); err != nil {
631 return nil, err
632 }
633
634 packs, err := s.dir.ObjectPacks()
635 if err != nil {
636 return nil, err
637 }
638 return &lazyPackfilesIter{
639 hashes: packs,
640 open: func(h plumbing.Hash) (storer.EncodedObjectIter, error) {
641 pack, err := s.dir.ObjectPack(h)
642 if err != nil {
643 return nil, err
644 }
645 return newPackfileIter(
646 s.dir.Fs(), pack, t, seen, s.index[h],
647 s.objectCache, s.options.KeepDescriptors,
648 s.options.LargeObjectThreshold,
649 )
650 },
651 }, nil
652}
653
654// Close closes all opened files.
655func (s *ObjectStorage) Close() error {

Callers 1

IterEncodedObjectsMethod · 0.95

Calls 5

requireIndexMethod · 0.95
newPackfileIterFunction · 0.85
ObjectPackMethod · 0.80
FsMethod · 0.80
ObjectPacksMethod · 0.65

Tested by

no test coverage detected