Version: v1.4.1 Latest Latest

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

Go to latest
Published: Jan 24, 2017 License: Apache-2.0 Imports: 18 Imported by: 0



Package git allows working with Git repositories



View Source
const (

	// Shallow maps to --depth=1, which clones a Git repository without
	// downloading history
	Shallow = "--depth=1"


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


func IsBareRoot added in v0.5.1

func IsBareRoot(path string) (bool, error)

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

func IsExitCode added in v1.1.6

func IsExitCode(err error, exitCode int) bool

func IsGitInstalled added in v1.3.0

func IsGitInstalled() bool

func NameFromRepositoryURL added in v0.5.1

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

func ParseRepository added in v0.5.1

func ParseRepository(s string) (*url.URL, error)

ParseRepository parses a string that may be in the Git format (git@) or URL format and extracts the appropriate value. Any fragment on the URL is preserved.

Protocols returned: - http, https - file - git - ssh


type ChangedRef added in v0.5.1

type ChangedRef struct {
	Ref string
	Old string
	New string

func ParsePostReceive added in v0.5.1

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

type GitError added in v0.5.1

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

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) error
	Checkout(dir string, ref string) 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 added in v0.5.1

func NewRepositoryForBinary(gitBinaryPath string) Repository

NewRepositoryForBinary returns a Repository using the specified git executable.

func NewRepositoryForBinaryWithEnvironment added in v1.1.1

func NewRepositoryForBinaryWithEnvironment(gitBinaryPath string, env []string) Repository

NewRepositoryForBinary returns a Repository using the specified git executable and environment

func NewRepositoryWithEnv added in v1.1.1

func NewRepositoryWithEnv(env []string) Repository

NewRepositoryForEnv creates a new Repository using the specified environment

type SourceInfo added in v1.1.1

type SourceInfo struct {

SourceInfo stores information about the source code

type TimeoutError added in v1.3.0

type TimeoutError struct {
	Err error

TimeoutError is returned when the underlying Git coommand times out before finishing

func (*TimeoutError) Error added in v1.3.0

func (e *TimeoutError) Error() string

Jump to

Keyboard shortcuts

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