git

package module
v0.0.0-...-9816990 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2014 License: MIT Imports: 4 Imported by: 4

README

go-gitutils

Build Status Build Status GoDoc Coverage Status

A utility for running a few git commands

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GitRemoteRegex = regexp.MustCompile(`^([^\t\n\f\r ]+)[\t\n\v\f\r ]+(git@github\.com:|(http[s]?|git):\/\/github\.com\/)([a-zA-Z0-9]{1}[a-zA-Z0-9-]*)\/([a-zA-Z0-9_.-]+)(\.git|[^\t\n\f\r ])+.*$`)

GitRemoteRegex is a regex for pulling account owner from the output of `git remote -v`

Functions

func Branch

func Branch(top string) string

Branch determines the git branch in the repo located at `top`. Two attempts are made to determine branch. First:

git rev-parse -q --abbrev-ref HEAD

If the current working directory is not on a branch, the result will return "HEAD". In this case, branch will be estimated by parsing the output of the following:

git branch -ar --contains $(git rev-parse -q HEAD)

func IsClean

func IsClean(top string) bool

IsClean returns true `git diff --shortstat` produces no output

func RemoteAccount

func RemoteAccount(top string) string

RemoteAccount returns the github account as determined by the output of `git remote -v`

func Sha

func Sha(top string) string

Sha produces the git branch at `top` as determined by `git rev-parse -q HEAD`

func Tag

func Tag(top string) string

Tag produces the git tag at `top` as determined by `git describe --always --dirty --tags`

Types

type Status

type Status uint8

Status is a type for reporting the status of a git repo

const (
	// StatusUpToDate means the local repo matches origin
	StatusUpToDate Status = iota

	// StatusNeedToPull means the local repo needs to pull from the remote
	StatusNeedToPull

	// StatusNeedToPush means the local repo needs to be pushed to the remote
	StatusNeedToPush

	// StatusDiverged means the local repo has diverged from the remote
	StatusDiverged
)

func UpToDate

func UpToDate(top string) Status

UpToDate returns the status of the repo as determined by the above constants

func (Status) String

func (s Status) String() string

Jump to

Keyboard shortcuts

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