(ctx context.Context, o *FetchOptions, s transport.UploadPackSession, req *packp.UploadPackRequest)
| 570 | } |
| 571 | |
| 572 | func (r *Remote) fetchPack(ctx context.Context, o *FetchOptions, s transport.UploadPackSession, |
| 573 | req *packp.UploadPackRequest) (err error) { |
| 574 | |
| 575 | reader, err := s.UploadPack(ctx, req) |
| 576 | if err != nil { |
| 577 | if errors.Is(err, transport.ErrEmptyUploadPackRequest) { |
| 578 | // XXX: no packfile provided, everything is up-to-date. |
| 579 | return nil |
| 580 | } |
| 581 | return err |
| 582 | } |
| 583 | |
| 584 | defer ioutil.CheckClose(reader, &err) |
| 585 | |
| 586 | if err = r.updateShallow(o, reader); err != nil { |
| 587 | return err |
| 588 | } |
| 589 | |
| 590 | if err = packfile.UpdateObjectStorage(r.s, |
| 591 | buildSidebandIfSupported(req.Capabilities, reader, o.Progress), |
| 592 | ); err != nil { |
| 593 | return err |
| 594 | } |
| 595 | |
| 596 | return err |
| 597 | } |
| 598 | |
| 599 | func (r *Remote) pruneRemotes(specs []config.RefSpec, localRefs []*plumbing.Reference, remoteRefs memory.ReferenceStorage) (bool, error) { |
| 600 | var updatedPrune bool |
no test coverage detected