@@ -194,8 +194,11 @@ func (r *Resolver) Combine(ctx context.Context, srcs []*Source, ann map[exptypes
194194func (r * Resolver ) Push (ctx context.Context , ref reference.Named , desc ocispec.Descriptor , dt []byte ) error {
195195 ctx = remotes .WithMediaTypeKeyPrefix (ctx , "application/vnd.in-toto+json" , "intoto" )
196196
197- ref = reference .TagNameOnly (ref )
198- p , err := r .resolver ().Pusher (ctx , ref .String ())
197+ fullRef , err := reference .WithDigest (reference .TagNameOnly (ref ), desc .Digest )
198+ if err != nil {
199+ return errors .Wrapf (err , "failed to combine ref %s with digest %s" , ref , desc .Digest )
200+ }
201+ p , err := r .resolver ().Pusher (ctx , fullRef .String ())
199202 if err != nil {
200203 return err
201204 }
@@ -217,8 +220,8 @@ func (r *Resolver) Push(ctx context.Context, ref reference.Named, desc ocispec.D
217220func (r * Resolver ) Copy (ctx context.Context , src * Source , dest reference.Named ) error {
218221 ctx = remotes .WithMediaTypeKeyPrefix (ctx , "application/vnd.in-toto+json" , "intoto" )
219222
220- dest = reference . TagNameOnly ( dest )
221- p , err := r .resolver ().Pusher (ctx , dest .String ())
223+ // push by digest
224+ p , err := r .resolver ().Pusher (ctx , dest .Name ())
222225 if err != nil {
223226 return err
224227 }
0 commit comments