git

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2021 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBranch = "main"
View Source
const DefaultRemote = "origin"
View Source
const DefaultUsername = "git"
View Source
const PromoteBranchPrefix = "promote/"

Variables

This section is empty.

Functions

func Clone added in v0.0.7

func Clone(url, username, password, path, branchName string) error

Types

type AzdoGITProvider

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

AdoGITProvider ...

func NewAzdoGITProvider

func NewAzdoGITProvider(ctx context.Context, remoteURL, token string) (*AzdoGITProvider, error)

NewAdoGITProvider ...

func (*AzdoGITProvider) CreatePR

func (g *AzdoGITProvider) CreatePR(ctx context.Context, branchName string, auto bool, state *PRState) error

CreatePR ...

func (*AzdoGITProvider) GetPRThatCausedCommit

func (g *AzdoGITProvider) GetPRThatCausedCommit(ctx context.Context, sha string) (PullRequest, error)

func (*AzdoGITProvider) GetPRWithBranch

func (g *AzdoGITProvider) GetPRWithBranch(ctx context.Context, source, target string) (PullRequest, error)

func (*AzdoGITProvider) GetStatus

func (g *AzdoGITProvider) GetStatus(ctx context.Context, sha string, group string, env string) (Status, error)

func (*AzdoGITProvider) MergePR

func (g *AzdoGITProvider) MergePR(ctx context.Context, id int, sha string) error

func (*AzdoGITProvider) SetStatus added in v0.0.7

func (g *AzdoGITProvider) SetStatus(ctx context.Context, sha string, group string, env string, succeeded bool) error

type GitHubGITProvider added in v0.0.7

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

GitHubGITProvider ...

func NewGitHubGITProvider added in v0.0.7

func NewGitHubGITProvider(ctx context.Context, remoteURL, token string) (*GitHubGITProvider, error)

NewGitHubGITProvider ...

func (*GitHubGITProvider) CreatePR added in v0.0.7

func (g *GitHubGITProvider) CreatePR(ctx context.Context, branchName string, auto bool, state *PRState) error

CreatePR ...

func (*GitHubGITProvider) GetPRThatCausedCommit added in v0.0.7

func (g *GitHubGITProvider) GetPRThatCausedCommit(ctx context.Context, sha string) (PullRequest, error)

func (*GitHubGITProvider) GetPRWithBranch added in v0.0.7

func (g *GitHubGITProvider) GetPRWithBranch(ctx context.Context, source, target string) (PullRequest, error)

func (*GitHubGITProvider) GetStatus added in v0.0.7

func (g *GitHubGITProvider) GetStatus(ctx context.Context, sha string, group string, env string) (Status, error)

func (*GitHubGITProvider) MergePR added in v0.0.7

func (g *GitHubGITProvider) MergePR(ctx context.Context, id int, sha string) error

func (*GitHubGITProvider) SetStatus added in v0.0.7

func (g *GitHubGITProvider) SetStatus(ctx context.Context, sha string, group string, env string, succeeded bool) error

type GitProvider

type GitProvider interface {
	GetStatus(ctx context.Context, sha, group, env string) (Status, error)
	SetStatus(ctx context.Context, sha string, group string, env string, succeeded bool) error
	CreatePR(ctx context.Context, branchName string, auto bool, state *PRState) error
	GetPRWithBranch(ctx context.Context, source, target string) (PullRequest, error)
	GetPRThatCausedCommit(ctx context.Context, sha string) (PullRequest, error)
	MergePR(ctx context.Context, ID int, sha string) error
}

func NewGitProvider

func NewGitProvider(ctx context.Context, providerType ProviderType, remoteURL, token string) (GitProvider, error)

type PRState

type PRState struct {
	Env   string `json:"env"`
	Group string `json:"group"`
	App   string `json:"app"`
	Tag   string `json:"tag"`
	Sha   string `json:"sha"`
}

func (*PRState) BranchName

func (p *PRState) BranchName() string

func (*PRState) Description

func (p *PRState) Description() (string, error)

func (*PRState) Title

func (p *PRState) Title() string

type ProviderType

type ProviderType string
const (
	ProviderTypeAzdo   ProviderType = "azdo"
	ProviderTypeGitHub ProviderType = "github"
)

func StringToProviderType added in v0.0.6

func StringToProviderType(p string) (ProviderType, error)

type PullRequest

type PullRequest struct {
	ID          int
	Title       string
	Description string
	State       PRState
}

type Repository

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

Repository represents a local git repository.

func LoadRepository

func LoadRepository(ctx context.Context, path string, providerTypeString string, token string) (*Repository, error)

LoadRepository loads a local git repository.

func (*Repository) CreateBranch

func (g *Repository) CreateBranch(branchName string, force bool) error

CreateBranch creates a branch.

func (*Repository) CreateCommit

func (g *Repository) CreateCommit(branchName, message string) (*git2go.Oid, error)

CreateCommit creates a commit in the specfied branch.

func (*Repository) CreatePR

func (g *Repository) CreatePR(ctx context.Context, branchName string, auto bool, state *PRState) error

func (*Repository) GetBranchName added in v0.0.6

func (g *Repository) GetBranchName() (string, error)

func (*Repository) GetCurrentCommit

func (g *Repository) GetCurrentCommit() (*git2go.Oid, error)

func (*Repository) GetLastCommitForBranch

func (g *Repository) GetLastCommitForBranch(branchName string) (*git2go.Oid, error)

func (*Repository) GetPRForCurrentBranch

func (g *Repository) GetPRForCurrentBranch(ctx context.Context) (PullRequest, error)

func (*Repository) GetPRThatCausedCurrentCommit

func (g *Repository) GetPRThatCausedCurrentCommit(ctx context.Context) (PullRequest, error)

func (*Repository) GetRootDir

func (g *Repository) GetRootDir() string

func (*Repository) GetStatus

func (g *Repository) GetStatus(ctx context.Context, sha, group, env string) (Status, error)

func (*Repository) MergePR

func (g *Repository) MergePR(ctx context.Context, id int, sha string) error

func (*Repository) Push

func (g *Repository) Push(branchName string, force bool) error

Push pushes the defined ref to remote.

type Status

type Status struct {
	Succeeded bool
}

Jump to

Keyboard shortcuts

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