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

Method fetch

remote.go:402–510  ·  view source on GitHub ↗
(ctx context.Context, o *FetchOptions)

Source from the content-addressed store, hash-verified

400}
401
402func (r *Remote) fetch(ctx context.Context, o *FetchOptions) (sto storer.ReferenceStorer, err error) {
403 if o.RemoteName == "" {
404 o.RemoteName = r.c.Name
405 }
406
407 if err = o.Validate(); err != nil {
408 return nil, err
409 }
410
411 if len(o.RefSpecs) == 0 {
412 o.RefSpecs = r.c.Fetch
413 }
414
415 if o.RemoteURL == "" {
416 o.RemoteURL = r.c.URLs[0]
417 }
418
419 s, err := newUploadPackSession(o.RemoteURL, o.Auth, o.InsecureSkipTLS, o.ClientCert, o.ClientKey, o.CABundle, o.ProxyOptions)
420 if err != nil {
421 return nil, err
422 }
423
424 defer ioutil.CheckClose(s, &err)
425
426 ar, err := s.AdvertisedReferencesContext(ctx)
427 if err != nil {
428 return nil, err
429 }
430
431 req, err := r.newUploadPackRequest(o, ar)
432 if err != nil {
433 return nil, err
434 }
435
436 if err := r.isSupportedRefSpec(o.RefSpecs, ar); err != nil {
437 return nil, err
438 }
439
440 remoteRefs, err := ar.AllReferences()
441 if err != nil {
442 return nil, err
443 }
444
445 localRefs, err := r.references()
446 if err != nil {
447 return nil, err
448 }
449
450 refs, specToRefs, err := calculateRefs(o.RefSpecs, remoteRefs, o.Tags)
451 if err != nil {
452 return nil, err
453 }
454
455 if !req.Depth.IsZero() {
456 req.Shallows, err = r.s.Shallow()
457 if err != nil {
458 return nil, fmt.Errorf("existing checkout is not shallow")
459 }

Callers 3

FetchContextMethod · 0.95
PullContextMethod · 0.80

Calls 15

newUploadPackRequestMethod · 0.95
isSupportedRefSpecMethod · 0.95
referencesMethod · 0.95
fetchPackMethod · 0.95
pruneRemotesMethod · 0.95
CheckCloseFunction · 0.92
calculateRefsFunction · 0.85
getWantsFunction · 0.85
getHavesFunction · 0.85
depthChangedFunction · 0.85
objectExistsFunction · 0.85

Tested by

no test coverage detected