git

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CloneOrUpdate = DefaultCloneOrUpdate
	UpdateRepo    = DefaultUpdateRepo
	CloneRepoFunc = CloneRepo
)

Function variables to allow mocking in tests (kept for backward compatibility)

Deprecated: Use GitOperations interface instead for new code.

Functions

func CloneRepo

func CloneRepo(repoURL, repoPath string, logger logger.Logger) error

CloneRepo clones a Git repository into the specified path. It validates the URL and path to prevent command injection attacks.

func DefaultCloneOrUpdate

func DefaultCloneOrUpdate(repoURL, repoPath string, logger logger.Logger) error

Default implementation of CloneOrUpdate

func DefaultUpdateRepo

func DefaultUpdateRepo(repoPath string, logger logger.Logger) error

Default implementation of UpdateRepo

func ForceReclone

func ForceReclone(repoURL, repoPath string, logger logger.Logger) error

ForceReclone removes an existing repository and re-clones it. It validates the URL and path before performing any operations.

func IsValidGitRepo

func IsValidGitRepo(repoPath string) bool

IsValidGitRepo checks if the given path is a valid Git repository.

Types

type DefaultGitOps added in v0.3.0

type DefaultGitOps struct{}

DefaultGitOps is the default implementation of GitOperations.

func (*DefaultGitOps) Clone added in v0.3.0

func (g *DefaultGitOps) Clone(repoURL, repoPath string, logger logger.Logger) error

Clone implements GitOperations.Clone.

func (*DefaultGitOps) CloneOrUpdate added in v0.3.0

func (g *DefaultGitOps) CloneOrUpdate(repoURL, repoPath string, logger logger.Logger) error

CloneOrUpdate implements GitOperations.CloneOrUpdate.

func (*DefaultGitOps) ForceReclone added in v0.3.0

func (g *DefaultGitOps) ForceReclone(repoURL, repoPath string, logger logger.Logger) error

ForceReclone implements GitOperations.ForceReclone.

func (*DefaultGitOps) IsValidRepo added in v0.3.0

func (g *DefaultGitOps) IsValidRepo(repoPath string) bool

IsValidRepo implements GitOperations.IsValidRepo.

func (*DefaultGitOps) Update added in v0.3.0

func (g *DefaultGitOps) Update(repoPath string, logger logger.Logger) error

Update implements GitOperations.Update.

type GitOperations added in v0.3.0

type GitOperations interface {
	CloneOrUpdate(repoURL, repoPath string, logger logger.Logger) error
	Update(repoPath string, logger logger.Logger) error
	Clone(repoURL, repoPath string, logger logger.Logger) error
	ForceReclone(repoURL, repoPath string, logger logger.Logger) error
	IsValidRepo(repoPath string) bool
}

GitOperations defines the interface for git operations. This allows for dependency injection and easier testing.

func NewGitOperations added in v0.3.0

func NewGitOperations() GitOperations

NewGitOperations creates a new GitOperations instance.

Jump to

Keyboard shortcuts

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