...

Package git

import "sigs.k8s.io/kustomize/api/internal/git"
Overview
Index

Overview ▾

func ClonerUsingGitExec

func ClonerUsingGitExec(repoSpec *RepoSpec) error

ClonerUsingGitExec uses a local git install, as opposed to say, some remote API, to obtain a local clone of a remote repo.

type Cloner

Cloner is a function that can clone a git repo.

type Cloner func(repoSpec *RepoSpec) error

func DoNothingCloner

func DoNothingCloner(dir filesys.ConfirmedDir) Cloner

DoNothingCloner returns a cloner that only sets cloneDir field in the repoSpec. It's assumed that the cloneDir is associated with some fake filesystem used in a test.

type RepoSpec

RepoSpec specifies a git repository and a branch and path therein.

type RepoSpec struct {

    // Host, e.g. https://github.com/
    Host string

    // RepoPath name (Path to repository),
    // e.g. kubernetes-sigs/kustomize
    RepoPath string

    // Dir is where the repository is cloned to.
    Dir filesys.ConfirmedDir

    // Relative path in the repository, and in the cloneDir,
    // to a Kustomization.
    KustRootPath string

    // Branch or tag reference.
    Ref string

    // Submodules indicates whether or not to clone git submodules.
    Submodules bool

    // Timeout is the maximum duration allowed for execing git commands.
    Timeout time.Duration
    // contains filtered or unexported fields
}

func NewRepoSpecFromURL

func NewRepoSpecFromURL(n string) (*RepoSpec, error)

NewRepoSpecFromURL parses git-like urls. From strings like git@github.com:someOrg/someRepo.git or https://github.com/someOrg/someRepo?ref=someHash, extract the different parts of URL, set into a RepoSpec object and return RepoSpec object. It MUST return an error if the input is not a git-like URL, as this is used by some code paths to distinguish between local and remote paths.

In particular, NewRepoSpecFromURL separates the URL used to clone the repo from the elements Kustomize uses for other purposes (e.g. query params that turn into args, and the path to the kustomization root within the repo).

func (*RepoSpec) AbsPath

func (x *RepoSpec) AbsPath() string

func (*RepoSpec) Cleaner

func (x *RepoSpec) Cleaner(fSys filesys.FileSystem) func() error

func (*RepoSpec) CloneDir

func (x *RepoSpec) CloneDir() filesys.ConfirmedDir

func (*RepoSpec) CloneSpec

func (x *RepoSpec) CloneSpec() string

CloneSpec returns a string suitable for "git clone {spec}".

func (*RepoSpec) Raw

func (x *RepoSpec) Raw() string