Documentation
¶
Overview ¶
Package git allows working with Git repositories
Index ¶
Constants ¶
View Source
const ( // Shallow maps to --depth=1, which clones a Git repository without // downloading history Shallow = "--depth=1" )
Variables ¶
View Source
var ErrGitNotAvailable = errors.New("git binary not available")
ErrGitNotAvailable will be returned if the git call fails because a git binary could not be found
Functions ¶
func IsBareRoot ¶
IsRoot returns true if location is the root of a bare git repository
func IsExitCode ¶
func IsGitInstalled ¶
func IsGitInstalled() bool
Types ¶
type ChangedRef ¶
func ParsePostReceive ¶
func ParsePostReceive(r io.Reader) ([]ChangedRef, error)
type Repository ¶
type Repository interface {
GetRootDir(dir string) (string, error)
GetOriginURL(dir string) (string, bool, error)
GetRef(dir string) string
Clone(dir string, url string) error
CloneWithOptions(dir string, url string, args ...string) error
CloneBare(dir string, url string) error
CloneMirror(dir string, url string) error
Fetch(dir string, url string, ref string) error
Checkout(dir string, ref string) error
PotentialPRRetryAsFetch(dir string, url string, ref string, err error) error
SubmoduleUpdate(dir string, init, recursive bool) error
Archive(dir, ref, format string, w io.Writer) error
Init(dir string, bare bool) error
Add(dir string, spec string) error
Commit(dir string, message string) error
AddRemote(dir string, name, url string) error
AddConfig(location, name, value string) error
AddLocalConfig(dir, name, value string) error
AddGlobalConfig(name, value string) error
ShowFormat(dir, commit, format string) (string, error)
ListRemote(url string, args ...string) (string, string, error)
TimedListRemote(timeout time.Duration, url string, args ...string) (string, string, error)
GetInfo(location string) (*SourceInfo, []error)
}
Repository represents a git source repository
func NewRepositoryForBinary ¶
func NewRepositoryForBinary(gitBinaryPath string) Repository
NewRepositoryForBinary returns a Repository using the specified git executable.
func NewRepositoryForBinaryWithEnvironment ¶
func NewRepositoryForBinaryWithEnvironment(gitBinaryPath string, env []string) Repository
NewRepositoryForBinary returns a Repository using the specified git executable and environment
func NewRepositoryWithEnv ¶
func NewRepositoryWithEnv(env []string) Repository
NewRepositoryForEnv creates a new Repository using the specified environment
type SourceInfo ¶
type SourceInfo struct {
// Ref represents a commit SHA-1, valid Git branch name or a Git tag
// The output image will contain this information as 'io.openshift.build.commit.ref' label.
Ref string
// CommitID represents an arbitrary extended object reference in Git as SHA-1
// The output image will contain this information as 'io.openshift.build.commit.id' label.
CommitID string
// Date contains a date when the committer created the commit.
// The output image will contain this information as 'io.openshift.build.commit.date' label.
Date string
// AuthorName contains the name of the author
// The output image will contain this information (along with AuthorEmail) as 'io.openshift.build.commit.author' label.
AuthorName string
// AuthorEmail contains the e-mail of the author
// The output image will contain this information (along with AuthorName) as 'io.openshift.build.commit.author' lablel.
AuthorEmail string
// CommitterName contains the name of the committer
CommitterName string
// CommitterEmail contains the e-mail of the committer
CommitterEmail string
// Message represents the first 80 characters from the commit message.
// The output image will contain this information as 'io.openshift.build.commit.message' label.
Message string
// Location contains a valid URL to the original repository.
// The output image will contain this information as 'io.openshift.build.source-location' label.
Location string
// ContextDir contains path inside the Location directory that
// contains the application source code.
// The output image will contain this information as 'io.openshift.build.source-context-dir'
// label.
ContextDir string
}
SourceInfo stores information about the source code
type TimeoutError ¶
type TimeoutError struct {
Err error
}
TimeoutError is returned when the underlying Git coommand times out before finishing
func (*TimeoutError) Error ¶
func (e *TimeoutError) Error() string
Click to show internal directories.
Click to hide internal directories.