package dfgitutil

import "github.com/moby/buildkit/frontend/dockerfile/dfgitutil"

Package dfgitutil provides Dockerfile-specific utilities for git refs.

Index

Types

type GitRef

type GitRef struct {
	// Remote is the remote repository path.
	Remote string

	// ShortName is the directory name of the repo.
	// e.g., "bar" for "https://github.com/foo/bar.git"
	ShortName string

	// Ref is a commit hash, a tag, or branch name.
	// Ref is optional.
	Ref string

	// Checksum is a commit hash.
	Checksum string

	// SubDir is a directory path inside the repo.
	// SubDir is optional.
	SubDir string

	// IndistinguishableFromLocal is true for a ref that is indistinguishable from a local file path,
	// e.g., "github.com/foo/bar".
	//
	// Deprecated.
	// Instead, use a distinguishable form such as "https://github.com/foo/bar.git".
	//
	// The dockerfile frontend still accepts this form only for build contexts.
	IndistinguishableFromLocal bool

	// UnencryptedTCP is true for a ref that needs an unencrypted TCP connection,
	// e.g., "git://..." and "http://..." .
	//
	// Discouraged, although not deprecated.
	// Instead, consider using an encrypted TCP connection such as "git@github.com/foo/bar.git" or "https://github.com/foo/bar.git".
	UnencryptedTCP bool

	// KeepGitDir is true for URL that controls whether to keep the .git directory.
	KeepGitDir *bool

	// Submodules is true for URL that controls whether to fetch git submodules.
	Submodules *bool
}

GitRef represents a git ref.

Examples:

func ParseGitRef

func ParseGitRef(ref string) (*GitRef, bool, error)

ParseGitRef parses a git ref.

Source Files

git_ref.go

Version
v0.25.1
Published
Oct 7, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
17 minutes ago

Tools for package owners.