From ALT Linux Wiki

Ref is a primary structure that represents git repo tag or commit reference for the specified Vcs, and it is described as:

  • sha is string[40] mandatory write-once
SHA1 40-byted checksum over the referenced object. Is used as unique object index.
  • name is string optional write-once
Name of the referenced object, is the tags name when kind is tag, blank otherwise.
  • kind is string mandatory write-once
Type of the referenced object, can one of tag, commit
  • uri is string mandatory write-once
URI of the repository, must begins with git, or https. This can be used as key to bind it to Vcs.
  • author_email is string mandatory
Author's email of the commit or tag. The user with the email must exists in the system.
  • authored_at is datetime mandatory
Date of the commit or tag, which was done by the author.
  • signed is boolean optional
Flag shows wheither the referenced object is signed.
  • message is string optional
Message text of the reference.

Combination of sha, and uri must be unique for all of the refs.