MCPcopy
hub / github.com/docker/docker-agent / removeReferenceLinks

Method removeReferenceLinks

pkg/content/store.go:367–391  ·  view source on GitHub ↗

removeReferenceLinks removes all reference links pointing to the given digest

(digest string)

Source from the content-addressed store, hash-verified

365
366// removeReferenceLinks removes all reference links pointing to the given digest
367func (s *Store) removeReferenceLinks(digest string) error {
368 refsDir := filepath.Join(s.baseDir, "refs")
369 files, err := os.ReadDir(refsDir)
370 if err != nil {
371 return err
372 }
373
374 for _, file := range files {
375 if file.IsDir() {
376 continue
377 }
378
379 refFile := filepath.Join(refsDir, file.Name())
380 data, err := os.ReadFile(refFile)
381 if err != nil {
382 continue
383 }
384
385 if strings.TrimSpace(string(data)) == digest {
386 os.Remove(refFile)
387 }
388 }
389
390 return nil
391}
392
393// saveMetadata saves metadata for an artifact
394func (s *Store) saveMetadata(digest string, metadata *ArtifactMetadata) error {

Callers 1

DeleteArtifactMethod · 0.95

Calls 3

ReadFileMethod · 0.80
NameMethod · 0.65
RemoveMethod · 0.45

Tested by

no test coverage detected