Dagger
Search

git-info

Easily extract information about a git reference (branch, tag, commit hash, committer, commit time, commit message, version),
and expose it as a JSON file, a directory, or environment variables.

Installation

dagger install github.com/vbehar/daggerverse/git-info@v0.7.2

Entrypoint

Return Type
GitInfo !
Arguments
NameTypeDefault ValueDescription
gitDirectoryDirectory !-directory containing the git repository can be either the worktree (including the .git subdirectory) or the .git directory iteself
gitRefString "HEAD"git reference to use for the git commands
gitBaseContainerContainer -base container to use for git commands default to cgr.dev/chainguard/git:latest
commitHashLengthInteger 40length of the commit hash to use
commitUserFormatString "%an"format of the commit user to use see https://git-scm.com/docs/git-log#_pretty_formats
commitDateFormatString "%cI"format of the commit time to use see https://git-scm.com/docs/git-log#_pretty_formats
commitMessageFormatString "%B"format of the commit message to use see https://git-scm.com/docs/git-log#_pretty_formats
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH
func (m *myModule) example(gitDirectory *Directory) *GitInfo  {
	return dag.
			GitInfo(gitDirectory)
}
@function
def example(git_directory: dagger.Directory, ) -> dag.GitInfo:
	return (
		dag.git_info(git_directory)
	)
@func()
example(gitDirectory: Directory, ): GitInfo {
	return dag
		.gitInfo(gitDirectory)
}

Types

GitInfo 🔗

GitInfo contains information about a git reference

ref() 🔗

git reference used for the git commands

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH ref
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Ref(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.ref()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.ref()
}

branch() 🔗

branch of the git reference

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH branch
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Branch(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.branch()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.branch()
}

tag() 🔗

tag of the git reference - if any

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH tag
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Tag(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.tag()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.tag()
}

commitHash() 🔗

commit hash of the git reference

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH commit-hash
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			CommitHash(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.commit_hash()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.commitHash()
}

commitUser() 🔗

committer information

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH commit-user
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			CommitUser(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.commit_user()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.commitUser()
}

commitTime() 🔗

commit time

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH commit-time
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			CommitTime(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.commit_time()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.commitTime()
}

commitMessage() 🔗

commit message

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH commit-message
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			CommitMessage(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.commit_message()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.commitMessage()
}

version() 🔗

version of the git reference

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH version
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Version(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.version()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.version()
}

json() 🔗

Json returns the JSON representation of the git info

Return Type
String !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH json
func (m *myModule) example(ctx context.Context, gitDirectory *Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Json(ctx)
}
@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.json()
	)
@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.json()
}

jsonFile() 🔗

JsonFile returns a dagger file containing the JSON representation of the git info

Return Type
File !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH json-file
func (m *myModule) example(gitDirectory *Directory) *File  {
	return dag.
			GitInfo(gitDirectory).
			JsonFile()
}
@function
def example(git_directory: dagger.Directory, ) -> dagger.File:
	return (
		dag.git_info(git_directory)
		.json_file()
	)
@func()
example(gitDirectory: Directory, ): File {
	return dag
		.gitInfo(gitDirectory)
		.jsonFile()
}

directory() 🔗

Directory returns a dagger directory containing the git info - each field is stored in a separate file: - ref: git reference used for the git commands - branch: branch of the git reference - tag: tag of the git reference - if any - commit-hash: commit hash of the git reference - commit-user: committer information - commit-time: commit time - commit-message: commit message - version: version of the git reference

Return Type
Directory !
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH directory
func (m *myModule) example(gitDirectory *Directory) *Directory  {
	return dag.
			GitInfo(gitDirectory).
			Directory()
}
@function
def example(git_directory: dagger.Directory, ) -> dagger.Directory:
	return (
		dag.git_info(git_directory)
		.directory()
	)
@func()
example(gitDirectory: Directory, ): Directory {
	return dag
		.gitInfo(gitDirectory)
		.directory()
}

setEnvVariablesOnContainer() 🔗

SetEnvVariablesOnContainer sets the git info as environment variables on the container: - GIT_REF: git reference used for the git commands - GIT_BRANCH: branch of the git reference - GIT_TAG: tag of the git reference - if any - GIT_COMMIT_HASH: commit hash of the git reference - GIT_COMMIT_USER: committer information - GIT_COMMIT_TIME: commit time - GIT_COMMIT_MESSAGE: commit message - GIT_VERSION: version of the git reference

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
ctrContainer !-No description provided
Example
dagger -m github.com/vbehar/daggerverse/git-info@167c0ef5a15db4b5cc22c0b95300e4bfce908abd call \
 --git-directory DIR_PATH set-env-variables-on-container --ctr IMAGE:TAG
func (m *myModule) example(gitDirectory *Directory, ctr *Container) *Container  {
	return dag.
			GitInfo(gitDirectory).
			SetEnvVariablesOnContainer(ctr)
}
@function
def example(git_directory: dagger.Directory, ctr: dagger.Container) -> dagger.Container:
	return (
		dag.git_info(git_directory)
		.set_env_variables_on_container(ctr)
	)
@func()
example(gitDirectory: Directory, ctr: Container): Container {
	return dag
		.gitInfo(gitDirectory)
		.setEnvVariablesOnContainer(ctr)
}