git

package
v1.8.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2021 License: Apache-2.0 Imports: 31 Imported by: 148

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetRepoHTTPClient added in v1.2.0

func GetRepoHTTPClient(repoURL string, insecure bool, creds Creds) *http.Client

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 added in v0.6.0

func IsCommitSHA(sha string) bool

IsCommitSHA returns whether or not a string is a 40 character SHA-1

func IsHTTPSURL added in v1.2.0

func IsHTTPSURL(url string) bool

IsHTTPSURL returns true if supplied URL is HTTPS URL

func IsSSHURL added in v0.4.0

func IsSSHURL(url string) (bool, string)

IsSSHURL returns true if supplied URL is SSH URL

func IsTruncatedCommitSHA added in v0.9.0

func IsTruncatedCommitSHA(sha string) bool

IsTruncatedCommitSHA returns whether or not a string is a truncated SHA-1

func NormalizeGitURL

func NormalizeGitURL(repo string) string

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

func SameURL added in v0.11.0

func SameURL(leftRepo, rightRepo string) bool

SameURL returns whether or not the two repository URLs are equivalent in location

func TestRepo

func TestRepo(repo string, creds Creds, insecure bool, enableLfs bool) error

TestRepo tests if a repo exists and is accessible with the given credentials

Types

type Client

type Client interface {
	Root() string
	Init() error
	Fetch() 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

func NewClient added in v1.2.4

func NewClient(rawRepoURL string, creds Creds, insecure bool, enableLfs bool) (Client, error)

func NewClientExt added in v1.2.4

func NewClientExt(rawRepoURL string, root string, creds Creds, insecure bool, enableLfs bool) (Client, error)

type Creds added in v1.1.0

type Creds interface {
	Environ() (io.Closer, []string, error)
}

type HTTPSCreds added in v1.1.0

type HTTPSCreds struct {
	// contains filtered or unexported fields
}

HTTPS creds implementation

func NewHTTPSCreds added in v1.1.0

func NewHTTPSCreds(username string, password string, clientCertData string, clientCertKey string, insecure bool) HTTPSCreds

func (HTTPSCreds) Environ added in v1.1.0

func (c HTTPSCreds) Environ() (io.Closer, []string, error)

Get additional required environment variables for executing git client to access specific repository via HTTPS.

type NopCloser added in v1.1.0

type NopCloser struct {
}

nop implementation

func (NopCloser) Close added in v1.1.0

func (c NopCloser) Close() error

type NopCreds added in v1.1.0

type NopCreds struct {
}

func (NopCreds) Environ added in v1.1.0

func (c NopCreds) Environ() (io.Closer, []string, error)

type Refs added in v1.8.0

type Refs struct {
	Branches []string
	Tags     []string
}

this should match reposerver/repository/repository.proto/RefsList

type RevisionMetadata added in v1.2.0

type RevisionMetadata struct {
	Author  string
	Date    time.Time
	Tags    []string
	Message string
}

type SSHCreds added in v1.1.0

type SSHCreds struct {
	// contains filtered or unexported fields
}

SSH implementation

func NewSSHCreds added in v1.1.0

func NewSSHCreds(sshPrivateKey string, caPath string, insecureIgnoreHostKey bool) SSHCreds

func (SSHCreds) Environ added in v1.1.0

func (c SSHCreds) Environ() (io.Closer, []string, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL