func (s *session) SendPack(req *packp.ReferenceUpdateRequest) (*packp.ReportStatus, error) { if _, err := s.AdvertisedReferences(); err != nil { return nil, err } s.packRun = true if err := req.Encode(s.Stdin); err != nil { return nil, err } if !req.Capabilities.Supports(capability.ReportStatus) { // If we have neither report-status or sideband, we can only // check return value error. return nil, s.Command.Wait() } report := packp.NewReportStatus() if err := report.Decode(s.Stdout); err != nil { return nil, err } if err := report.Error(); err != nil { return report, err } return report, s.Command.Wait() }