(ref name.Reference)
| 252 | } |
| 253 | |
| 254 | func (r *Remote) rewriteReference(ref name.Reference) (name.Reference, error) { |
| 255 | newRepo, opts, err := r.rewriteRepositoryBase(ref.Context()) |
| 256 | if err != nil { |
| 257 | return nil, fmt.Errorf("rewriting repository %q: %w", ref.Context().Name(), err) |
| 258 | } |
| 259 | |
| 260 | switch typed := ref.(type) { |
| 261 | case name.Tag: |
| 262 | return name.NewTag(newRepo+":"+typed.TagStr(), opts...) |
| 263 | case name.Digest: |
| 264 | return name.NewDigest(newRepo+"@"+typed.DigestStr(), opts...) |
| 265 | default: |
| 266 | return nil, fmt.Errorf("unsupported reference type: %T", ref) |
| 267 | } |
| 268 | } |
| 269 | |
| 270 | func (r *Remote) rewriteRepository(repo name.Repository) (name.Repository, error) { |
| 271 | newRepo, opts, err := r.rewriteRepositoryBase(repo) |
no test coverage detected