git

package
v0.0.0-...-ff9695f Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RemoteName = "origin"

	ErrGitAccessFailed = errors.New("git access is failed to initialize")
)
View Source
var (
	ErrPullFailed = errors.New("failed to pull from remote repository")
	ErrPushFailed = errors.New("failed to push to remote repository")
)

Functions

This section is empty.

Types

type CloneOption

type CloneOption func(*CloneOptions)

func WithCloneBranch

func WithCloneBranch(branch string) CloneOption

func WithCloneLogger

func WithCloneLogger(logger logr.Logger) CloneOption

type CloneOptions

type CloneOptions struct {
	Logger logr.Logger

	SingleBranch bool
	Reference    plumbing.ReferenceName
}

func NewDefaultCloneOptions

func NewDefaultCloneOptions() *CloneOptions

type CommitOption

type CommitOption func(*CommitOptions)

func WithCommitLogger

func WithCommitLogger(logger logr.Logger) CommitOption

func WithCommitMessage

func WithCommitMessage(message string) CommitOption

func WithCommitPath

func WithCommitPath(paths ...string) CommitOption

func WithCommitter

func WithCommitter(user, email string) CommitOption

type CommitOptions

type CommitOptions struct {
	Logger logr.Logger

	Paths     []string
	Message   string
	Committer *object.Signature
}

func NewDefaultCommitOptions

func NewDefaultCommitOptions() *CommitOptions

type Git

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

func New

func New(secret types.GitSecret) (*Git, error)

func (*Git) Clone

func (g *Git) Clone(ctx context.Context, url, dest string, opts ...CloneOption) (Repository, error)

type GitRepository

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

func NewGitRepository

func NewGitRepository(repo *git.Repository, auth transport.AuthMethod) (*GitRepository, error)

func (*GitRepository) Commit

func (g *GitRepository) Commit(ctx context.Context, opts ...CommitOption) error

func (*GitRepository) Pull

func (g *GitRepository) Pull(ctx context.Context, opts ...PullOption) error

func (*GitRepository) Push

func (g *GitRepository) Push(ctx context.Context, opts ...PushOption) error

func (*GitRepository) Root

func (g *GitRepository) Root() string

type Interface

type Interface interface {
	Clone(ctx context.Context, url, dest string, opts ...CloneOption) (Repository, error)
}

type PullOption

type PullOption func(*PullOptions)

func WithPullLogger

func WithPullLogger(logger logr.Logger) PullOption

type PullOptions

type PullOptions struct {
	Logger logr.Logger
}

type PushOption

type PushOption func(*PushOptions)

func WithPushLogger

func WithPushLogger(logger logr.Logger) PushOption

type PushOptions

type PushOptions struct {
	Logger logr.Logger
}

type Repository

type Repository interface {
	Root() string
	Pull(ctx context.Context, opts ...PullOption) error
	Commit(ctx context.Context, opts ...CommitOption) error
	Push(ctx context.Context, opts ...PushOption) error
}

Jump to

Keyboard shortcuts

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