Documentation
¶
Index ¶
- Constants
- func AmendGitExecError(err error, f func(e *GitExecError))
- type GitExecError
- type GitLocalRunner
- type GitUpstreamRepo
- func (gur *GitUpstreamRepo) GetDefaultBranch(ctx context.Context) (string, error)
- func (gur *GitUpstreamRepo) GetRepo(ctx context.Context, refs []string) (string, error)
- func (gur *GitUpstreamRepo) ResolveBranch(branch string) (string, bool)
- func (gur *GitUpstreamRepo) ResolveRef(ref string) (string, bool)
- func (gur *GitUpstreamRepo) ResolveTag(tag string) (string, bool)
- type RunResult
Constants ¶
const RepoCacheDirEnv = "KPT_CACHE_DIR"
RepoCacheDirEnv is the name of the environment variable that controls the cache directory for remote repos. Defaults to UserHomeDir/.kpt/repos if unspecified.
Variables ¶
This section is empty.
Functions ¶
func AmendGitExecError ¶
func AmendGitExecError(err error, f func(e *GitExecError))
Types ¶
type GitExecError ¶
type GitExecError struct {
Args []string
Err error
Command string
Repo string
Ref string
StdErr string
StdOut string
}
func (*GitExecError) Error ¶
func (e *GitExecError) Error() string
type GitLocalRunner ¶
type GitLocalRunner struct {
// Dir is the directory the commands are run in.
Dir string
// Debug enables output of debug information to stderr.
Debug bool
// contains filtered or unexported fields
}
GitLocalRunner runs git commands in a local git repo.
func NewLocalGitRunner ¶
func NewLocalGitRunner(pkg string) (*GitLocalRunner, error)
NewLocalGitRunner returns a new GitLocalRunner for a local package.
func (*GitLocalRunner) Run ¶
func (g *GitLocalRunner) Run(ctx context.Context, command string, args ...string) (RunResult, error)
Run runs a git command. Omit the 'git' part of the command. The first return value contains the output to Stdout and Stderr when running the command.
func (*GitLocalRunner) RunVerbose ¶
func (g *GitLocalRunner) RunVerbose(ctx context.Context, command string, args ...string) (RunResult, error)
RunVerbose runs a git command. Omit the 'git' part of the command. The first return value contains the output to Stdout and Stderr when running the command.
type GitUpstreamRepo ¶
type GitUpstreamRepo struct {
URI string
// Heads contains all head refs in the upstream repo as well as the
// each of the are referencing.
Heads map[string]string
// Tags contains all tag refs in the upstream repo as well as the
// each of the are referencing.
Tags map[string]string
}
GitUpstreamRepo runs git commands in a local git repo.
func NewGitUpstreamRepo ¶
func NewGitUpstreamRepo(ctx context.Context, uri string) (*GitUpstreamRepo, error)
NewGitUpstreamRepo returns a new GitUpstreamRepo for an upstream package.
func (*GitUpstreamRepo) GetDefaultBranch ¶
func (gur *GitUpstreamRepo) GetDefaultBranch(ctx context.Context) (string, error)
GetDefaultBranch returns the name of the branch pointed to by the HEAD symref. This is the default branch of the repository.
func (*GitUpstreamRepo) GetRepo ¶
GetRepo fetches all the provided refs and the objects. It will fetch it to the cache repo and returns the path to the local git clone in the cache directory.
func (*GitUpstreamRepo) ResolveBranch ¶
func (gur *GitUpstreamRepo) ResolveBranch(branch string) (string, bool)
ResolveBranch resolves the branch to a commit SHA. This happens based on the cached information about refs in the upstream repo. If the branch doesn't exist in the upstream repo, the last return value will be false.
func (*GitUpstreamRepo) ResolveRef ¶
func (gur *GitUpstreamRepo) ResolveRef(ref string) (string, bool)
ResolveRef resolves the ref (either tag or branch) to a commit SHA. If the ref doesn't exist in the upstream repo, the last return value will be false.
func (*GitUpstreamRepo) ResolveTag ¶
func (gur *GitUpstreamRepo) ResolveTag(tag string) (string, bool)
ResolveTag resolves the tag to a commit SHA. This happens based on the cached information about refs in the upstream repo. If the tag doesn't exist in the upstream repo, the last return value will be false.