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

Method pruneRemotes

remote.go:599–618  ·  view source on GitHub ↗
(specs []config.RefSpec, localRefs []*plumbing.Reference, remoteRefs memory.ReferenceStorage)

Source from the content-addressed store, hash-verified

597}
598
599func (r *Remote) pruneRemotes(specs []config.RefSpec, localRefs []*plumbing.Reference, remoteRefs memory.ReferenceStorage) (bool, error) {
600 var updatedPrune bool
601 for _, spec := range specs {
602 rev := spec.Reverse()
603 for _, ref := range localRefs {
604 if !rev.Match(ref.Name()) {
605 continue
606 }
607 _, err := remoteRefs.Reference(rev.Dst(ref.Name()))
608 if errors.Is(err, plumbing.ErrReferenceNotFound) {
609 updatedPrune = true
610 err := r.s.RemoveReference(ref.Name())
611 if err != nil {
612 return false, err
613 }
614 }
615 }
616 }
617 return updatedPrune, nil
618}
619
620func (r *Remote) addReferencesToUpdate(
621 refspecs []config.RefSpec,

Callers 1

fetchMethod · 0.95

Calls 7

ReverseMethod · 0.80
DstMethod · 0.80
IsMethod · 0.80
MatchMethod · 0.65
NameMethod · 0.65
ReferenceMethod · 0.65
RemoveReferenceMethod · 0.65

Tested by

no test coverage detected