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.8.0Entrypoint
Return Type
GitInfo !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| gitDirectory | Directory ! | - | directory containing the git repository can be either the worktree (including the .git subdirectory) or the .git directory iteself | 
| gitRef | String | "HEAD" | git reference to use for the git commands | 
| gitRemoteName | String | "origin" | name of the remote to use | 
| gitBaseContainer | Container | - | base container to use for git commands default to cgr.dev/chainguard/git:latest | 
| commitHashLength | Integer | 40 | length of the commit hash to use | 
| commitUserFormat | String | "%an" | format of the commit user to use see https://git-scm.com/docs/git-log#_pretty_formats | 
| commitDateFormat | String | "%cI" | format of the commit time to use see https://git-scm.com/docs/git-log#_pretty_formats | 
| commitMessageFormat | String | "%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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATHfunc (m *MyModule) Example(gitDirectory *dagger.Directory) *dagger.GitInfo  {
	return dag.
			GitInfo(gitDirectory)
}@function
def example(git_directory: dagger.Directory, ) -> dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH reffunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH branchfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH tagfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH commit-hashfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH commit-userfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH commit-timefunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH commit-messagefunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH versionfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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()
}url() 🔗
URL of the git repository
Return Type
String !Example
dagger -m github.com/vbehar/daggerverse/git-info@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH urlfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Url(ctx)
}@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.url()
	)@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.url()
}name() 🔗
Name of the git repository (last part of the URL)
Return Type
String !Example
dagger -m github.com/vbehar/daggerverse/git-info@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH namefunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.Directory) string  {
	return dag.
			GitInfo(gitDirectory).
			Name(ctx)
}@function
async def example(git_directory: dagger.Directory, ) -> str:
	return await (
		dag.git_info(git_directory)
		.name()
	)@func()
async example(gitDirectory: Directory, ): Promise<string> {
	return dag
		.gitInfo(gitDirectory)
		.name()
}json() 🔗
Json returns the JSON representation of the git info
Return Type
String !Example
dagger -m github.com/vbehar/daggerverse/git-info@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH jsonfunc (m *MyModule) Example(ctx context.Context, gitDirectory *dagger.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@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH json-filefunc (m *MyModule) Example(gitDirectory *dagger.Directory) *dagger.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 - url: URL of the git repository - name: Name of the git repository (last part of the URL)
Return Type
Directory !Example
dagger -m github.com/vbehar/daggerverse/git-info@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH directoryfunc (m *MyModule) Example(gitDirectory *dagger.Directory) *dagger.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 - GIT_URL: URL of the git repository - GIT_NAME: Name of the git repository (last part of the URL)
Return Type
Container !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| ctr | Container ! | - | No description provided | 
Example
dagger -m github.com/vbehar/daggerverse/git-info@c7f22a5458ab7209e7433a8e51ab1adba8f5fcdb call \
 --git-directory DIR_PATH set-env-variables-on-container --ctr IMAGE:TAGfunc (m *MyModule) Example(gitDirectory *dagger.Directory, ctr *dagger.Container) *dagger.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)
}