git

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2018 License: Apache-2.0 Imports: 17 Imported by: 0

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

func IsBareRoot(path string) (bool, error)

IsRoot returns true if location is the root of a bare git repository

func IsExitCode

func IsExitCode(err error, exitCode int) bool

func IsGitInstalled

func IsGitInstalled() bool

func NameFromRepositoryURL

func NameFromRepositoryURL(url *url.URL) (string, bool)

NameFromRepositoryURL suggests a name for a repository URL based on the last segment of the path, or returns false

Types

type ChangedRef

type ChangedRef struct {
	Ref string
	Old string
	New string
}

func ParsePostReceive

func ParsePostReceive(r io.Reader) ([]ChangedRef, error)

type GitError

type GitError struct {
	Err    error
	Stdout string
	Stderr string
}

GitError is returned when the underlying Git command returns a non-zero exit code.

func (*GitError) Error

func (e *GitError) Error() string

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
	AddLocalConfig(dir, 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 NewRepository

func NewRepository() Repository

NewRepository creates a new 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 {
	s2igit.SourceInfo
}

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

Jump to

Keyboard shortcuts

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