package gitutil

import "github.com/docker/buildx/util/gitutil"

Index

Functions

func GitAdd

func GitAdd(c *Git, tb testing.TB, files ...string)

func GitCheckoutBranch

func GitCheckoutBranch(c *Git, tb testing.TB, name string)

func GitCommit

func GitCommit(c *Git, tb testing.TB, msg string)

func GitInit

func GitInit(c *Git, tb testing.TB)

func GitServeHTTP

func GitServeHTTP(c *Git, t testing.TB, opts ...GitServeOpt) (url string)

func GitSetMainUpstream

func GitSetMainUpstream(c *Git, tb testing.TB, remote, target string)

func GitSetRemote

func GitSetRemote(c *Git, tb testing.TB, name string, url string)

func GitTag

func GitTag(c *Git, tb testing.TB, tag string)

func IsAmbiguousArgument

func IsAmbiguousArgument(err error) bool

func IsUnknownRevision

func IsUnknownRevision(err error) bool

func Mktmp

func Mktmp(tb testing.TB) string

Types

type Git

type Git struct {
	// contains filtered or unexported fields
}

Git represents an active git object

func New

func New(opts ...Option) (*Git, error)

New initializes a new git client

func (*Git) FullCommit

func (c *Git) FullCommit() (string, error)

func (*Git) GitDir

func (c *Git) GitDir() (string, error)

func (*Git) IsDirty

func (c *Git) IsDirty() bool

func (*Git) IsInsideWorkTree

func (c *Git) IsInsideWorkTree() bool

func (*Git) RemoteURL

func (c *Git) RemoteURL() (string, error)

func (*Git) RootDir

func (c *Git) RootDir() (string, error)

func (*Git) ShortCommit

func (c *Git) ShortCommit() (string, error)

func (*Git) Tag

func (c *Git) Tag() (string, error)

type GitServeOpt

type GitServeOpt func(*gitServe)

func WithAccessToken

func WithAccessToken(token string) GitServeOpt

type Option

type Option func(b *Git)

Option provides a variadic option for configuring the git client.

func WithContext

func WithContext(ctx context.Context) Option

WithContext sets context.

func WithWorkingDir

func WithWorkingDir(wd string) Option

WithWorkingDir sets working directory.

Source Files

gitutil.go path.go testutil.go testutilserve.go

Version
v0.22.0 (latest)
Published
Mar 17, 2025
Platform
linux/amd64
Imports
15 packages
Last checked
3 weeks ago

Tools for package owners.