Documentation ¶
Index ¶
- func GetRepoHTTPClient(repoURL string, insecure bool, creds Creds) *http.Client
- func IsCommitSHA(sha string) bool
- func IsHTTPSURL(url string) bool
- func IsSSHURL(url string) (bool, string)
- func IsTruncatedCommitSHA(sha string) bool
- func NormalizeGitURL(repo string) string
- func SameURL(leftRepo, rightRepo string) bool
- func TestRepo(repo string, creds Creds, insecure bool, enableLfs bool) error
- type Client
- type Creds
- type GenericHTTPSCreds
- type GitHubAppCreds
- type HTTPSCreds
- type NopCloser
- type NopCreds
- type Refs
- type RevisionMetadata
- type SSHCreds
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetRepoHTTPClient ¶
Returns a HTTP client object suitable for go-git to use using the following pattern:
- If insecure is true, always returns a client with certificate verification turned off.
- If one or more custom certificates are stored for the repository, returns a client with those certificates in the list of root CAs used to verify the server's certificate.
- Otherwise (and on non-fatal errors), a default HTTP client is returned.
func IsCommitSHA ¶
IsCommitSHA returns whether or not a string is a 40 character SHA-1
func IsHTTPSURL ¶
IsHTTPSURL returns true if supplied URL is HTTPS URL
func IsTruncatedCommitSHA ¶
IsTruncatedCommitSHA returns whether or not a string is a truncated SHA-1
func NormalizeGitURL ¶
NormalizeGitURL normalizes a git URL for purposes of comparison, as well as preventing redundant local clones (by normalizing various forms of a URL to a consistent location). Prefer using SameURL() over this function when possible. This algorithm may change over time and should not be considered stable from release to release
Types ¶
type Client ¶
type Client interface { Root() string Init() error Fetch(revision string) error Checkout(revision string) error LsRefs() (*Refs, error) LsRemote(revision string) (string, error) LsFiles(path string) ([]string, error) LsLargeFiles() ([]string, error) CommitSHA() (string, error) RevisionMetadata(revision string) (*RevisionMetadata, error) VerifyCommitSignature(string) (string, error) }
Client is a generic git client interface
type GenericHTTPSCreds ¶
type GenericHTTPSCreds interface { HasClientCert() bool GetClientCertData() string GetClientCertKey() string Environ() (io.Closer, []string, error) }
func NewGitHubAppCreds ¶
func NewGitHubAppCreds(appID int64, appInstallId int64, privateKey string, baseURL string, repoURL string, clientCertData string, clientCertKey string, insecure bool) GenericHTTPSCreds
NewGitHubAppCreds provide github app credentials
func NewHTTPSCreds ¶
type GitHubAppCreds ¶
type GitHubAppCreds struct {
// contains filtered or unexported fields
}
GitHubAppCreds to authenticate as GitHub application
func (GitHubAppCreds) GetClientCertData ¶
func (g GitHubAppCreds) GetClientCertData() string
func (GitHubAppCreds) GetClientCertKey ¶
func (g GitHubAppCreds) GetClientCertKey() string
func (GitHubAppCreds) HasClientCert ¶
func (g GitHubAppCreds) HasClientCert() bool
type HTTPSCreds ¶
type HTTPSCreds struct {
// contains filtered or unexported fields
}
HTTPS creds implementation
func (HTTPSCreds) Environ ¶
func (c HTTPSCreds) Environ() (io.Closer, []string, error)
Get additional required environment variables for executing git client to access specific repository via HTTPS.
func (HTTPSCreds) GetClientCertData ¶
func (c HTTPSCreds) GetClientCertData() string
func (HTTPSCreds) GetClientCertKey ¶
func (c HTTPSCreds) GetClientCertKey() string
func (HTTPSCreds) HasClientCert ¶
func (g HTTPSCreds) HasClientCert() bool