Vridlo/types/Ref

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

SHA1 40-byted checksum over the referenced object. Is used as unique object index.
 * sha is string[40] mandatory write-once

Name of the referenced object, is the tags name when kind is tag, blank otherwise.
 * name is string optional write-once

Type of the referenced object, can one of tag, commit
 * kind 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.
 * uri is string mandatory write-once

Author's email of the commit or tag. The user with the email must exists in the system.
 * author_email is string mandatory

Date of the commit or tag, which was done by the author.
 * authored_at is datetime mandatory

Flag shows wheither the referenced object is signed.
 * signed is boolean optional

Message text of the reference.
 * message is string optional

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