MCPcopy Index your code
hub / github.com/go-git/go-git / IterEncodedObjects

Method IterEncodedObjects

storage/filesystem/object.go:604–624  ·  view source on GitHub ↗

IterEncodedObjects returns an iterator for all the objects in the packfile with the given type.

(t plumbing.ObjectType)

Source from the content-addressed store, hash-verified

602// IterEncodedObjects returns an iterator for all the objects in the packfile
603// with the given type.
604func (s *ObjectStorage) IterEncodedObjects(t plumbing.ObjectType) (storer.EncodedObjectIter, error) {
605 objects, err := s.dir.Objects()
606 if err != nil {
607 return nil, err
608 }
609
610 seen := make(map[plumbing.Hash]struct{})
611 var iters []storer.EncodedObjectIter
612 if len(objects) != 0 {
613 iters = append(iters, &objectsIter{s: s, t: t, h: objects})
614 seen = hashListAsMap(objects)
615 }
616
617 packi, err := s.buildPackfileIters(t, seen)
618 if err != nil {
619 return nil, err
620 }
621
622 iters = append(iters, packi)
623 return storer.NewMultiEncodedObjectIter(iters), nil
624}
625
626func (s *ObjectStorage) buildPackfileIters(
627 t plumbing.ObjectType,

Callers 2

TestIterMethod · 0.95
TestIterWithTypeMethod · 0.95

Calls 4

buildPackfileItersMethod · 0.95
hashListAsMapFunction · 0.85
ObjectsMethod · 0.45

Tested by 2

TestIterMethod · 0.76
TestIterWithTypeMethod · 0.76