(ctx context.Context, refspec ctdreference.Spec, descs ...ocispecs.Descriptor)
| 221 | } |
| 222 | |
| 223 | func (r *Resolver) localMetadataHasMatchingSource(ctx context.Context, refspec ctdreference.Spec, descs ...ocispecs.Descriptor) (bool, error) { |
| 224 | seen := map[digest.Digest]struct{}{} |
| 225 | for _, desc := range descs { |
| 226 | if desc.Digest == "" { |
| 227 | continue |
| 228 | } |
| 229 | if _, ok := seen[desc.Digest]; ok { |
| 230 | continue |
| 231 | } |
| 232 | seen[desc.Digest] = struct{}{} |
| 233 | |
| 234 | info, err := r.contentStore.Info(ctx, desc.Digest) |
| 235 | if err != nil { |
| 236 | if cerrdefs.IsNotFound(err) { |
| 237 | return false, nil |
| 238 | } |
| 239 | return false, err |
| 240 | } |
| 241 | ok, err := contentutil.HasSource(info, refspec) |
| 242 | if err != nil || !ok { |
| 243 | return ok, err |
| 244 | } |
| 245 | } |
| 246 | return true, nil |
| 247 | } |
| 248 | |
| 249 | func (r *Resolver) attachContentToLease(ctx context.Context, descs []ocispecs.Descriptor) error { |
| 250 | leaseID, ok := leases.FromContext(ctx) |
no test coverage detected