Documentation ¶
Index ¶
- func GetGitReferenceNameOrHashAndSubDirectory(url string, urlPath string) (plumbing.ReferenceName, plumbing.Hash, string, error)
- func GetGitRemoteURL(repo *git.Repository, remoteName string) (string, error)
- func GetGitRepository(dir string) (*git.Repository, error)
- func GitCloneAndCheckoutCommit(url string, commit plumbing.Hash, path string) error
- func GitCloneOrPull(url string, referenceName plumbing.ReferenceName, path string, shallow bool) error
- func GitListBranchesAndTags(url string) ([]plumbing.ReferenceName, error)
- func IsGitOriginURLGitHub(remoteURL string) bool
- func ParseGitRepoURL(rawurl string) (string, string, error)
- type VCSInfo
- type VCSKind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetGitReferenceNameOrHashAndSubDirectory ¶ added in v0.15.0
func GetGitReferenceNameOrHashAndSubDirectory(url string, urlPath string) ( plumbing.ReferenceName, plumbing.Hash, string, error)
GetGitReferenceNameOrHashAndSubDirectory returns the reference name or hash, and sub directory path. The sub directory path always uses "/" as the separator.
func GetGitRemoteURL ¶ added in v0.16.4
func GetGitRemoteURL(repo *git.Repository, remoteName string) (string, error)
GetGitRemoteURL returns the remote URL for the given remoteName in the repo.
func GetGitRepository ¶
func GetGitRepository(dir string) (*git.Repository, error)
GetGitRepository returns the git repository by walking up from the provided directory. If no repository is found, will return (nil, nil).
func GitCloneAndCheckoutCommit ¶ added in v0.15.0
GitCloneAndCheckoutCommit clones the Git repository and checkouts the specified commit.
func GitCloneOrPull ¶ added in v0.15.0
func GitCloneOrPull(url string, referenceName plumbing.ReferenceName, path string, shallow bool) error
GitCloneOrPull clones or updates the specified referenceName (branch or tag) of a Git repository.
func GitListBranchesAndTags ¶ added in v0.15.0
func GitListBranchesAndTags(url string) ([]plumbing.ReferenceName, error)
GitListBranchesAndTags fetches a remote Git repository's branch and tag references (including HEAD), sorted by the length of the short name descending.
func IsGitOriginURLGitHub ¶ added in v0.16.4
IsGitOriginURLGitHub returns true if the provided remoteURL is detected as GitHub.
func ParseGitRepoURL ¶ added in v0.15.0
ParseGitRepoURL returns the URL to the Git repository and path from a raw URL. For example, an input of "https://github.com/pulumi/templates/templates/javascript" returns "https://github.com/pulumi/templates.git" and "templates/javascript".
Types ¶
type VCSInfo ¶ added in v0.16.4
VCSInfo describes a cloud-hosted version control system. Cloud hosted VCS' typically have an owner (could be an organization), to whom the repo belongs.
func GetGitHubProjectForOrigin ¶
GetGitHubProjectForOrigin returns the GitHub login, and GitHub repo name if the "origin" remote is a GitHub URL.
func TryGetVCSInfo ¶ added in v0.16.4
TryGetVCSInfo attempts to detect whether the provided remoteURL is an SSH or an HTTPS remote URL. It then extracts the repo, owner name, and the type (kind) of VCS from it.
type VCSKind ¶ added in v0.16.4
type VCSKind = string
VCSKind represents the hostname of a specific type of VCS. For eg., github.com, gitlab.com etc.
const ( // The host name for GitLab. GitLabHostName VCSKind = "gitlab.com" // The host name for GitHub. GitHubHostName VCSKind = "github.com" // The host name for Azure DevOps AzureDevOpsHostName VCSKind = "dev.azure.com" // The host name for Bitbucket BitbucketHostName VCSKind = "bitbucket.org" )
Constants related to detecting the right type of source control provider for git.