Git Commit
kind: gitcommit
On this page
| source | condition | target |
|---|---|---|
✔ | ✔ | ✘ |
The Git Commit "source" returns the latest commit hash referenced by a Git branch.
The Git Commit "condition" checks that a commit exists in a repository.
The commit hash defaults to the source output and can be overridden with spec.hash.
Abbreviated hashes are supported.
The target stage is not supported because commit hashes are immutable values.
Repository selection
Both the source and the condition select a repository in the following order:
The repository configured by
spec.urlis cloned.Otherwise,
spec.pathselects an existing local repository.Otherwise, the working directory from
scmidis used.
When spec.branch is omitted, the current HEAD commit is returned.
When it is set, Updatecli resolves the local branch first and then its origin remote-tracking branch.
The lookup does not check out the branch or modify the working tree.
Parameters
| Name | Type | Description | Required |
|---|
Note | YAML parses an unquoted all-digit value as a number.
Quote |
Example
The following manifest shows SCM, URL, and local-path inputs.
# updatecli.yaml
scms:
application:
kind: git
spec:
branch: main
url: https://github.com/example/application.git
sources:
from-scm:
name: Get the latest commit from the configured SCM
kind: gitcommit
scmid: application
spec:
branch: main
from-url:
name: Get the latest commit from a Git URL
kind: gitcommit
spec:
branch: main
depth: 1
url: https://github.com/example/application.git
from-path:
name: Get the latest commit from a local repository
kind: gitcommit
spec:
path: ./application
conditions:
exists-in-scm:
name: Check that the source commit exists in the configured SCM
kind: gitcommit
scmid: application
sourceid: from-scm
pinned-commit:
name: Check that a pinned commit exists in the repository
kind: gitcommit
disablesourceinput: true
spec:
url: https://github.com/example/application.git
hash: 69619610a3fac402931709dfbe89d113041c8776