code: func (r *Session) PushRegistryTag(remote reference.Named, revision, tag, registry string) error {
  	// "jsonify" the string
  	revision = "\"" + revision + "\""
  	path := fmt.Sprintf("repositories/%s/tags/%s", reference.Path(remote), tag)
  
  	req, err := http.NewRequest("PUT", registry+path, strings.NewReader(revision))
  	if err != nil {
  		return err
  	}
  	req.Header.Add("Content-type", "application/json")
  	req.ContentLength = int64(len(revision))
  	res, err := r.client.Do(req)
  	if err != nil {
  		return err
  	}
  	res.Body.Close()
  	if res.StatusCode != 200 && res.StatusCode != 201 {
  		return newJSONError(fmt.Sprintf("Internal server error: %d trying to push tag %s on %s", res.StatusCode, tag, reference.Path(remote)), res)
  	}
  	return nil
  }
docs: // PushRegistryTag pushes a tag on the registry.
  // Remote has the format '<user>/<repo>