git

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2021 License: MPL-2.0 Imports: 11 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoGitRepository = errors.New("no git repository")
	ErrNoStagedFiles   = errors.New("no staged files")
)

Functions

This section is empty.

Types

type Author

type Author struct {
	Name  string
	Email string
}

type Commit

type Commit struct {
	Author
	Hash    string
	Message string
}

type Git

type Git interface {
	Open(path string) (*gogit.Repository, error)
	Init(path, url, branch string) (bool, error)
	Clone(ctx context.Context, path, url, branch string) (bool, error)
	Write(path string, content []byte) error
	Commit(message Commit, filters ...func(string) bool) (string, error)
	Push(ctx context.Context) error
	Status() (bool, error)
	Head() (string, error)
}

Git is an interface for basic Git operations on a single branch of a remote repository.

type GoGit

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

func New

func New(auth transport.AuthMethod) *GoGit

func (*GoGit) Clone

func (g *GoGit) Clone(ctx context.Context, path, url, branch string) (bool, error)

Clone clones a starting repository URL to a path, and checks out the provided branch name.

If the directory is successfully initialised, it returns true, otherwise it returns false.

func (*GoGit) Commit

func (g *GoGit) Commit(message Commit, filters ...func(string) bool) (string, error)

func (*GoGit) Head

func (g *GoGit) Head() (string, error)

func (*GoGit) Init

func (g *GoGit) Init(path, url, branch string) (bool, error)

Init initialises the directory at path with the remote and branch provided.

If the directory is successfully initialised it returns true, otherwise if the directory is already initialised, it returns false.

func (*GoGit) Open

func (g *GoGit) Open(path string) (*gogit.Repository, error)

Open opens a git repository in the provided path, and returns a repository.

func (*GoGit) Push

func (g *GoGit) Push(ctx context.Context) error

func (*GoGit) Status

func (g *GoGit) Status() (bool, error)

Status returns true if no files in the repository have been modified.

func (*GoGit) Write

func (g *GoGit) Write(path string, content []byte) error

Write writes the provided content to the path, if the file exists, it will be truncated.

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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