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 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.