repositories:
src/branch-pin:
type: git
url: https://github.com/example/proj.git
version: main # branch, moves with the remote
src/tag-pin:
type: git
url: https://github.com/example/proj.git
version: v2.1.0 # tag, immutable
src/commit-pin:
type: git
url: https://github.com/example/proj.git
version: a1b2c3d4e5f6789 # commit, immutable, fully reproducible
src/svn-pin:
type: svn
url: https://svn.example.com/repos/proj/trunk
version: "1234" # SVN revision
src/tar-pin:
type: tar
url: https://example.com/proj-2024.tar.gz
version: proj-2024 # strip-prefix; effectively pins to the URL