In the current setup, YAML profiles for feed revision references can
only use weak Git tag-based references, like so in profiles/prpl.yml:
```yaml
- name: feed_amx
uri: https://gitlab.com/prpl-foundation/prplos/feeds/feed_amx.git
revision: v11.9.0
- name: feed_gmap
uri: https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git
revision: v1.7.2
```
Git tags can be mutable, meaning they can be changed or moved. This
introduces a risk where the reproducibility of builds cannot be
guaranteed. Therefore, relying solely on Git tags for referencing
revisions is not ideal.
To enhance the reproducibility and reliability of the builds, the feed
Git revision should support either of the following:
1. Full Git SHA-1 hash of the Git object (a 40-character string).
2. Human-readable reference like a Git tag, followed by an @ separator
and then full (40-character) Git SHA
Examples of the currently only valid feed revisions:
```yaml
- name: feed_gmap
uri: <https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git>
revision: 178c8c0dea56bfe6e5f3d0af84be4b0156041291
- name: feed_gmap
uri: <https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git>
revision: v1.7.2@178c8c0dea56bfe6e5f3d0af84be4b0156041291
```
Closes: PCF-1388
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>