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 (*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 PushOption ¶
type PushOption func(*PushOptions)
func WithPushLogger ¶
func WithPushLogger(logger logr.Logger) PushOption
type PushOptions ¶
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 }
Click to show internal directories.
Click to hide internal directories.