Documentation ¶
Index ¶
- Constants
- func GetDefaultKubernetesRepoURL() (string, error)
- func GetKubernetesRepoURL(org string, useSSH bool) (string, error)
- func GetRepoURL(org, repo string, useSSH bool) (string, error)
- func IsReleaseBranch(branch string) bool
- func Remotify(name string) string
- type DiscoverResult
- type Remote
- type Repo
- func (r *Repo) Add(filename string) error
- func (r *Repo) AddRemote(name, owner, repo string) error
- func (r *Repo) Checkout(rev string, args ...string) error
- func (r *Repo) Cleanup() error
- func (r *Repo) Commit(msg string) error
- func (r *Repo) CurrentBranch() (branch string, err error)
- func (r *Repo) DescribeTag(rev string) (string, error)
- func (r *Repo) Dir() string
- func (r *Repo) HasRemote(name, expectedURL string) bool
- func (r *Repo) HasRemoteBranch(branch string) error
- func (r *Repo) Head() (string, error)
- func (r *Repo) LatestNonPatchFinalToMinor() (DiscoverResult, error)
- func (r *Repo) LatestPatchToPatch(branch string) (DiscoverResult, error)
- func (r *Repo) LatestReleaseBranchMergeBaseToLatest() (DiscoverResult, error)
- func (r *Repo) LatestTagForBranch(branch string) (tag semver.Version, err error)
- func (r *Repo) Merge(from string) error
- func (r *Repo) MergeBase(from, to string) (string, error)
- func (r *Repo) PreviousTag(tag, branch string) (string, error)
- func (r *Repo) Push(remoteBranch string) error
- func (r *Repo) PushToRemote(remote, remoteBranch string) error
- func (r *Repo) Remotes() (res []*Remote, err error)
- func (r *Repo) RevParse(rev string) (string, error)
- func (r *Repo) RevParseShort(rev string) (string, error)
- func (r *Repo) Rm(force bool, files ...string) error
- func (r *Repo) SetDry()
- func (r *Repo) SetInnerRepo(repo Repository)
- func (r *Repo) SetWorktree(worktree Worktree)
- func (r *Repo) TagsForBranch(branch string) (res []string, err error)
- type Repository
- type Worktree
Constants ¶
const ( DefaultGithubOrg = "kubernetes" DefaultGithubRepo = "kubernetes" DefaultGithubReleaseRepo = "sig-release" DefaultGithubURLBase = "https://github.com" DefaultRemote = "origin" DefaultMasterRef = "HEAD" Master = "master" )
Variables ¶
This section is empty.
Functions ¶
func GetDefaultKubernetesRepoURL ¶ added in v0.2.5
GetDefaultKubernetesRepoURL returns the default HTTPS repo URL for Kubernetes. Expected: https://github.com/kubernetes/kubernetes
func GetKubernetesRepoURL ¶ added in v0.2.5
GetKubernetesRepoURL takes a GitHub org and repo, and useSSH as a boolean and returns a repo URL for Kubernetes. Expected result is one of the following: - https://github.com/<org>/kubernetes - git@github.com:<org>/kubernetes
func GetRepoURL ¶ added in v0.2.5
GetRepoURL takes a GitHub org and repo, and useSSH as a boolean and returns a repo URL for the specified repo. Expected result is one of the following: - https://github.com/<org>/<repo> - git@github.com:<org>/<repo>
func IsReleaseBranch ¶
Types ¶
type DiscoverResult ¶ added in v0.2.1
type DiscoverResult struct {
// contains filtered or unexported fields
}
DiscoverResult is the result of a revision discovery
func (*DiscoverResult) EndRev ¶ added in v0.2.1
func (d *DiscoverResult) EndRev() string
EndRev returns the end revision for the DiscoverResult
func (*DiscoverResult) EndSHA ¶ added in v0.2.1
func (d *DiscoverResult) EndSHA() string
EndSHA returns the end SHA for the DiscoverResult
func (*DiscoverResult) StartRev ¶ added in v0.2.1
func (d *DiscoverResult) StartRev() string
StartRev returns the start revision for the DiscoverResult
func (*DiscoverResult) StartSHA ¶ added in v0.2.1
func (d *DiscoverResult) StartSHA() string
StartSHA returns the start SHA for the DiscoverResult
type Remote ¶ added in v0.2.5
type Remote struct {
// contains filtered or unexported fields
}
Remote is a representation of a git remote location
type Repo ¶
type Repo struct {
// contains filtered or unexported fields
}
Wrapper type for a Kubernetes repository instance
func CloneOrOpenDefaultGitHubRepoSSH ¶
CloneOrOpenDefaultGitHubRepoSSH clones the default Kubernetes GitHub repository via SSH if the repoPath is empty, otherwise updates it at the expected repoPath.
func CloneOrOpenGitHubRepo ¶
CloneOrOpenGitHubRepo creates a temp directory containing the provided GitHub repository via the owner and repo. If useSSH is true, then it will clone the repository using the defaultGithubAuthRoot.
func CloneOrOpenRepo ¶
CloneOrOpenRepo creates a temp directory containing the provided GitHub repository via the url.
If a repoPath is given, then the function tries to update the repository.
The function returns the repository if cloning or updating of the repository was successful, otherwise an error.
func (*Repo) Checkout ¶ added in v0.2.2
Checkout can be used to checkout any revision inside the repository
func (*Repo) CurrentBranch ¶ added in v0.2.2
CurrentBranch returns the current branch of the repository or an error in case of any failure
func (*Repo) DescribeTag ¶
DescribeTag can be used to retrieve the latest tag for a provided revision
func (*Repo) HasRemote ¶ added in v0.2.5
HasRemote checks if the provided remote `name` is available and matches the expected `url`
func (*Repo) HasRemoteBranch ¶
HasRemoteBranch takes a branch string and verifies that it exists on the default remote
func (*Repo) LatestNonPatchFinalToMinor ¶ added in v0.2.1
func (r *Repo) LatestNonPatchFinalToMinor() (DiscoverResult, error)
func (*Repo) LatestPatchToPatch ¶ added in v0.2.1
func (r *Repo) LatestPatchToPatch(branch string) (DiscoverResult, error)
LatestPatchToPatch tries to discover the start (latest v1.x.[x-1]) and end (latest v1.x.x) revision inside the repository for the specified release branch.
func (*Repo) LatestReleaseBranchMergeBaseToLatest ¶ added in v0.2.2
func (r *Repo) LatestReleaseBranchMergeBaseToLatest() (DiscoverResult, error)
LatestReleaseBranchMergeBaseToLatest tries to discover the start (latest v1.x.0 merge base) and end (release-1.(x+1) or master) revision inside the repository.
func (*Repo) LatestTagForBranch ¶ added in v0.2.2
LatestTagForBranch returns the latest available semver tag for a given branch
func (*Repo) PreviousTag ¶ added in v0.2.2
PreviousTag tries to find the previous tag for a provided branch and errors on any failure
func (*Repo) Push ¶
Push does push the specified branch to the default remote, but only if the repository is not in dry run mode
func (*Repo) PushToRemote ¶ added in v0.2.5
PushToRemote push the current branch to a spcified remote, but only if the repository is not in dry run mode
func (*Repo) Remotes ¶ added in v0.2.5
Remotes lists the currently available remotes for the repository
func (*Repo) RevParse ¶
RevParse parses a git revision and returns a SHA1 on success, otherwise an error.
func (*Repo) RevParseShort ¶
RevParseShort parses a git revision and returns a SHA1 trimmed to the length 10 on success, otherwise an error.
func (*Repo) SetDry ¶
func (r *Repo) SetDry()
Set the repo into dry run mode, which does not modify any remote locations at all.
func (*Repo) SetInnerRepo ¶ added in v0.2.2
func (r *Repo) SetInnerRepo(repo Repository)
SetInnerRepo can be used to manually set the inner repository
func (*Repo) SetWorktree ¶ added in v0.2.2
SetWorktree can be used to manually set the repository worktree
type Repository ¶ added in v0.2.2
type Repository interface { CommitObject(plumbing.Hash) (*object.Commit, error) Branches() (storer.ReferenceIter, error) Head() (*plumbing.Reference, error) Remote(string) (*git.Remote, error) Remotes() ([]*git.Remote, error) ResolveRevision(plumbing.Revision) (*plumbing.Hash, error) Tags() (storer.ReferenceIter, error) }
Repository is the main interface to the git.Repository functionality