Documentation
¶
Index ¶
- Variables
- func CloneRepo(repoURL, repoPath string, logger logger.Logger) error
- func DefaultCloneOrUpdate(repoURL, repoPath string, logger logger.Logger) error
- func DefaultUpdateRepo(repoPath string, logger logger.Logger) error
- func ForceReclone(repoURL, repoPath string, logger logger.Logger) error
- func IsValidGitRepo(repoPath string) bool
- type DefaultGitOps
- func (g *DefaultGitOps) Clone(repoURL, repoPath string, logger logger.Logger) error
- func (g *DefaultGitOps) CloneOrUpdate(repoURL, repoPath string, logger logger.Logger) error
- func (g *DefaultGitOps) ForceReclone(repoURL, repoPath string, logger logger.Logger) error
- func (g *DefaultGitOps) IsValidRepo(repoPath string) bool
- func (g *DefaultGitOps) Update(repoPath string, logger logger.Logger) error
- type GitOperations
Constants ¶
This section is empty.
Variables ¶
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 ¶
CloneRepo clones a Git repository into the specified path. It validates the URL and path to prevent command injection attacks.
func DefaultCloneOrUpdate ¶
Default implementation of CloneOrUpdate
func DefaultUpdateRepo ¶
Default implementation of UpdateRepo
func ForceReclone ¶
ForceReclone removes an existing repository and re-clones it. It validates the URL and path before performing any operations.
func IsValidGitRepo ¶
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.
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.