Documentation
¶
Overview ¶
Package repository provides repository management functionality and error definitions.
Package repository is a generated GoMock package.
Package repository provides Git repository management functionality for CM.
Package repository provides Git repository management functionality for CM.
Package repository provides Git repository management functionality for CM.
Package repository provides Git repository management functionality for CM.
Index ¶
- Constants
- Variables
- type CreateWorktreeOpts
- type MockRepository
- func (m *MockRepository) AddNewRemote(remoteSource string) error
- func (m *MockRepository) AddWorktreeToStatus(params StatusParams) error
- func (m *MockRepository) AutoAddRepositoryToStatus(repoURL, repoPath string) error
- func (m *MockRepository) CleanupOnWorktreeCreationFailure(repoURL, branch, worktreePath string)
- func (m *MockRepository) CleanupWorktreeDirectory(worktreePath string)
- func (m *MockRepository) ConstructRemoteURL(originURL, remoteSource, repoName string) (string, error)
- func (m *MockRepository) CreateWorktree(branch string, opts ...CreateWorktreeOpts) error
- func (m *MockRepository) DeleteWorktree(branch string, force bool) error
- func (m *MockRepository) DetermineProtocol(originURL string) string
- func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder
- func (m *MockRepository) ExtractHostFromURL(url string) string
- func (m *MockRepository) ExtractRepoNameFromFullPath(fullPath string) string
- func (m *MockRepository) HandleExistingRemote(remoteSource string) error
- func (m *MockRepository) HandleRemoteManagement(remoteSource string) error
- func (m *MockRepository) HandleRepositoryNotFoundError(params StatusParams) error
- func (m *MockRepository) HandleStatusAddError(err error, params StatusParams) error
- func (m *MockRepository) IsGitRepository() (bool, error)
- func (m *MockRepository) IsWorkspaceFile() (bool, error)
- func (m *MockRepository) ListWorktrees() ([]status.WorktreeInfo, error)
- func (m *MockRepository) LoadWorktree(remoteSource, branchName string) error
- func (m *MockRepository) ParseConfirmationInput(input string) (bool, error)
- func (m *MockRepository) RemoveWorktreeFromStatus(repoURL, branch string) error
- func (m *MockRepository) Validate() error
- func (m *MockRepository) ValidateGitStatus() error
- func (m *MockRepository) ValidateOriginRemote() error
- func (m *MockRepository) ValidateRepository(params ValidationParams) (*ValidationResult, error)
- func (m *MockRepository) ValidateWorktreeExists(repoURL, branch string) error
- type MockRepositoryMockRecorder
- func (mr *MockRepositoryMockRecorder) AddNewRemote(remoteSource any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) AddWorktreeToStatus(params any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) AutoAddRepositoryToStatus(repoURL, repoPath any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) CleanupOnWorktreeCreationFailure(repoURL, branch, worktreePath any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) CleanupWorktreeDirectory(worktreePath any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ConstructRemoteURL(originURL, remoteSource, repoName any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) CreateWorktree(branch any, opts ...any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) DeleteWorktree(branch, force any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) DetermineProtocol(originURL any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ExtractHostFromURL(url any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ExtractRepoNameFromFullPath(fullPath any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) HandleExistingRemote(remoteSource any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) HandleRemoteManagement(remoteSource any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) HandleRepositoryNotFoundError(params any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) HandleStatusAddError(err, params any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) IsGitRepository() *gomock.Call
- func (mr *MockRepositoryMockRecorder) IsWorkspaceFile() *gomock.Call
- func (mr *MockRepositoryMockRecorder) ListWorktrees() *gomock.Call
- func (mr *MockRepositoryMockRecorder) LoadWorktree(remoteSource, branchName any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ParseConfirmationInput(input any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) RemoveWorktreeFromStatus(repoURL, branch any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) Validate() *gomock.Call
- func (mr *MockRepositoryMockRecorder) ValidateGitStatus() *gomock.Call
- func (mr *MockRepositoryMockRecorder) ValidateOriginRemote() *gomock.Call
- func (mr *MockRepositoryMockRecorder) ValidateRepository(params any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ValidateWorktreeExists(repoURL, branch any) *gomock.Call
- type NewRepositoryParams
- type RemoteManagementParams
- type Repository
- type StatusParams
- type ValidationParams
- type ValidationResult
Constants ¶
const DefaultRemote = "origin"
DefaultRemote is the default remote name used for Git operations.
Variables ¶
var ( // Git repository errors. ErrGitRepositoryNotFound = errors.New("not a valid Git repository: .git directory not found") ErrGitRepositoryInvalid = errors.New("git repository is in an invalid state") // Worktree errors. ErrWorktreeExists = errors.New("worktree already exists") ErrWorktreeNotInStatus = errors.New("worktree not found in status file") // Repository state errors. ErrRepositoryNotClean = errors.New("repository is not clean") ErrDirectoryExists = errors.New("directory already exists") // User interaction errors. ErrDeletionCancelled = errors.New("deletion cancelled by user") // Remote errors. ErrOriginRemoteNotFound = errors.New("origin remote not found or invalid") ErrOriginRemoteInvalidURL = errors.New("origin remote URL is not a valid Git hosting service URL") )
Error definitions for repository package.
Functions ¶
This section is empty.
Types ¶
type CreateWorktreeOpts ¶
CreateWorktreeOpts contains optional parameters for CreateWorktree.
type MockRepository ¶
type MockRepository struct {
// contains filtered or unexported fields
}
MockRepository is a mock of Repository interface.
func NewMockRepository ¶
func NewMockRepository(ctrl *gomock.Controller) *MockRepository
NewMockRepository creates a new mock instance.
func (*MockRepository) AddNewRemote ¶
func (m *MockRepository) AddNewRemote(remoteSource string) error
AddNewRemote mocks base method.
func (*MockRepository) AddWorktreeToStatus ¶
func (m *MockRepository) AddWorktreeToStatus(params StatusParams) error
AddWorktreeToStatus mocks base method.
func (*MockRepository) AutoAddRepositoryToStatus ¶
func (m *MockRepository) AutoAddRepositoryToStatus(repoURL, repoPath string) error
AutoAddRepositoryToStatus mocks base method.
func (*MockRepository) CleanupOnWorktreeCreationFailure ¶
func (m *MockRepository) CleanupOnWorktreeCreationFailure(repoURL, branch, worktreePath string)
CleanupOnWorktreeCreationFailure mocks base method.
func (*MockRepository) CleanupWorktreeDirectory ¶
func (m *MockRepository) CleanupWorktreeDirectory(worktreePath string)
CleanupWorktreeDirectory mocks base method.
func (*MockRepository) ConstructRemoteURL ¶
func (m *MockRepository) ConstructRemoteURL(originURL, remoteSource, repoName string) (string, error)
ConstructRemoteURL mocks base method.
func (*MockRepository) CreateWorktree ¶
func (m *MockRepository) CreateWorktree(branch string, opts ...CreateWorktreeOpts) error
CreateWorktree mocks base method.
func (*MockRepository) DeleteWorktree ¶
func (m *MockRepository) DeleteWorktree(branch string, force bool) error
DeleteWorktree mocks base method.
func (*MockRepository) DetermineProtocol ¶
func (m *MockRepository) DetermineProtocol(originURL string) string
DetermineProtocol mocks base method.
func (*MockRepository) EXPECT ¶
func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockRepository) ExtractHostFromURL ¶
func (m *MockRepository) ExtractHostFromURL(url string) string
ExtractHostFromURL mocks base method.
func (*MockRepository) ExtractRepoNameFromFullPath ¶
func (m *MockRepository) ExtractRepoNameFromFullPath(fullPath string) string
ExtractRepoNameFromFullPath mocks base method.
func (*MockRepository) HandleExistingRemote ¶
func (m *MockRepository) HandleExistingRemote(remoteSource string) error
HandleExistingRemote mocks base method.
func (*MockRepository) HandleRemoteManagement ¶
func (m *MockRepository) HandleRemoteManagement(remoteSource string) error
HandleRemoteManagement mocks base method.
func (*MockRepository) HandleRepositoryNotFoundError ¶
func (m *MockRepository) HandleRepositoryNotFoundError(params StatusParams) error
HandleRepositoryNotFoundError mocks base method.
func (*MockRepository) HandleStatusAddError ¶
func (m *MockRepository) HandleStatusAddError(err error, params StatusParams) error
HandleStatusAddError mocks base method.
func (*MockRepository) IsGitRepository ¶
func (m *MockRepository) IsGitRepository() (bool, error)
IsGitRepository mocks base method.
func (*MockRepository) IsWorkspaceFile ¶
func (m *MockRepository) IsWorkspaceFile() (bool, error)
IsWorkspaceFile mocks base method.
func (*MockRepository) ListWorktrees ¶
func (m *MockRepository) ListWorktrees() ([]status.WorktreeInfo, error)
ListWorktrees mocks base method.
func (*MockRepository) LoadWorktree ¶
func (m *MockRepository) LoadWorktree(remoteSource, branchName string) error
LoadWorktree mocks base method.
func (*MockRepository) ParseConfirmationInput ¶
func (m *MockRepository) ParseConfirmationInput(input string) (bool, error)
ParseConfirmationInput mocks base method.
func (*MockRepository) RemoveWorktreeFromStatus ¶
func (m *MockRepository) RemoveWorktreeFromStatus(repoURL, branch string) error
RemoveWorktreeFromStatus mocks base method.
func (*MockRepository) Validate ¶
func (m *MockRepository) Validate() error
Validate mocks base method.
func (*MockRepository) ValidateGitStatus ¶
func (m *MockRepository) ValidateGitStatus() error
ValidateGitStatus mocks base method.
func (*MockRepository) ValidateOriginRemote ¶
func (m *MockRepository) ValidateOriginRemote() error
ValidateOriginRemote mocks base method.
func (*MockRepository) ValidateRepository ¶
func (m *MockRepository) ValidateRepository(params ValidationParams) (*ValidationResult, error)
ValidateRepository mocks base method.
func (*MockRepository) ValidateWorktreeExists ¶
func (m *MockRepository) ValidateWorktreeExists(repoURL, branch string) error
ValidateWorktreeExists mocks base method.
type MockRepositoryMockRecorder ¶
type MockRepositoryMockRecorder struct {
// contains filtered or unexported fields
}
MockRepositoryMockRecorder is the mock recorder for MockRepository.
func (*MockRepositoryMockRecorder) AddNewRemote ¶
func (mr *MockRepositoryMockRecorder) AddNewRemote(remoteSource any) *gomock.Call
AddNewRemote indicates an expected call of AddNewRemote.
func (*MockRepositoryMockRecorder) AddWorktreeToStatus ¶
func (mr *MockRepositoryMockRecorder) AddWorktreeToStatus(params any) *gomock.Call
AddWorktreeToStatus indicates an expected call of AddWorktreeToStatus.
func (*MockRepositoryMockRecorder) AutoAddRepositoryToStatus ¶
func (mr *MockRepositoryMockRecorder) AutoAddRepositoryToStatus(repoURL, repoPath any) *gomock.Call
AutoAddRepositoryToStatus indicates an expected call of AutoAddRepositoryToStatus.
func (*MockRepositoryMockRecorder) CleanupOnWorktreeCreationFailure ¶
func (mr *MockRepositoryMockRecorder) CleanupOnWorktreeCreationFailure(repoURL, branch, worktreePath any) *gomock.Call
CleanupOnWorktreeCreationFailure indicates an expected call of CleanupOnWorktreeCreationFailure.
func (*MockRepositoryMockRecorder) CleanupWorktreeDirectory ¶
func (mr *MockRepositoryMockRecorder) CleanupWorktreeDirectory(worktreePath any) *gomock.Call
CleanupWorktreeDirectory indicates an expected call of CleanupWorktreeDirectory.
func (*MockRepositoryMockRecorder) ConstructRemoteURL ¶
func (mr *MockRepositoryMockRecorder) ConstructRemoteURL(originURL, remoteSource, repoName any) *gomock.Call
ConstructRemoteURL indicates an expected call of ConstructRemoteURL.
func (*MockRepositoryMockRecorder) CreateWorktree ¶
func (mr *MockRepositoryMockRecorder) CreateWorktree(branch any, opts ...any) *gomock.Call
CreateWorktree indicates an expected call of CreateWorktree.
func (*MockRepositoryMockRecorder) DeleteWorktree ¶
func (mr *MockRepositoryMockRecorder) DeleteWorktree(branch, force any) *gomock.Call
DeleteWorktree indicates an expected call of DeleteWorktree.
func (*MockRepositoryMockRecorder) DetermineProtocol ¶
func (mr *MockRepositoryMockRecorder) DetermineProtocol(originURL any) *gomock.Call
DetermineProtocol indicates an expected call of DetermineProtocol.
func (*MockRepositoryMockRecorder) ExtractHostFromURL ¶
func (mr *MockRepositoryMockRecorder) ExtractHostFromURL(url any) *gomock.Call
ExtractHostFromURL indicates an expected call of ExtractHostFromURL.
func (*MockRepositoryMockRecorder) ExtractRepoNameFromFullPath ¶
func (mr *MockRepositoryMockRecorder) ExtractRepoNameFromFullPath(fullPath any) *gomock.Call
ExtractRepoNameFromFullPath indicates an expected call of ExtractRepoNameFromFullPath.
func (*MockRepositoryMockRecorder) HandleExistingRemote ¶
func (mr *MockRepositoryMockRecorder) HandleExistingRemote(remoteSource any) *gomock.Call
HandleExistingRemote indicates an expected call of HandleExistingRemote.
func (*MockRepositoryMockRecorder) HandleRemoteManagement ¶
func (mr *MockRepositoryMockRecorder) HandleRemoteManagement(remoteSource any) *gomock.Call
HandleRemoteManagement indicates an expected call of HandleRemoteManagement.
func (*MockRepositoryMockRecorder) HandleRepositoryNotFoundError ¶
func (mr *MockRepositoryMockRecorder) HandleRepositoryNotFoundError(params any) *gomock.Call
HandleRepositoryNotFoundError indicates an expected call of HandleRepositoryNotFoundError.
func (*MockRepositoryMockRecorder) HandleStatusAddError ¶
func (mr *MockRepositoryMockRecorder) HandleStatusAddError(err, params any) *gomock.Call
HandleStatusAddError indicates an expected call of HandleStatusAddError.
func (*MockRepositoryMockRecorder) IsGitRepository ¶
func (mr *MockRepositoryMockRecorder) IsGitRepository() *gomock.Call
IsGitRepository indicates an expected call of IsGitRepository.
func (*MockRepositoryMockRecorder) IsWorkspaceFile ¶
func (mr *MockRepositoryMockRecorder) IsWorkspaceFile() *gomock.Call
IsWorkspaceFile indicates an expected call of IsWorkspaceFile.
func (*MockRepositoryMockRecorder) ListWorktrees ¶
func (mr *MockRepositoryMockRecorder) ListWorktrees() *gomock.Call
ListWorktrees indicates an expected call of ListWorktrees.
func (*MockRepositoryMockRecorder) LoadWorktree ¶
func (mr *MockRepositoryMockRecorder) LoadWorktree(remoteSource, branchName any) *gomock.Call
LoadWorktree indicates an expected call of LoadWorktree.
func (*MockRepositoryMockRecorder) ParseConfirmationInput ¶
func (mr *MockRepositoryMockRecorder) ParseConfirmationInput(input any) *gomock.Call
ParseConfirmationInput indicates an expected call of ParseConfirmationInput.
func (*MockRepositoryMockRecorder) RemoveWorktreeFromStatus ¶
func (mr *MockRepositoryMockRecorder) RemoveWorktreeFromStatus(repoURL, branch any) *gomock.Call
RemoveWorktreeFromStatus indicates an expected call of RemoveWorktreeFromStatus.
func (*MockRepositoryMockRecorder) Validate ¶
func (mr *MockRepositoryMockRecorder) Validate() *gomock.Call
Validate indicates an expected call of Validate.
func (*MockRepositoryMockRecorder) ValidateGitStatus ¶
func (mr *MockRepositoryMockRecorder) ValidateGitStatus() *gomock.Call
ValidateGitStatus indicates an expected call of ValidateGitStatus.
func (*MockRepositoryMockRecorder) ValidateOriginRemote ¶
func (mr *MockRepositoryMockRecorder) ValidateOriginRemote() *gomock.Call
ValidateOriginRemote indicates an expected call of ValidateOriginRemote.
func (*MockRepositoryMockRecorder) ValidateRepository ¶
func (mr *MockRepositoryMockRecorder) ValidateRepository(params any) *gomock.Call
ValidateRepository indicates an expected call of ValidateRepository.
func (*MockRepositoryMockRecorder) ValidateWorktreeExists ¶
func (mr *MockRepositoryMockRecorder) ValidateWorktreeExists(repoURL, branch any) *gomock.Call
ValidateWorktreeExists indicates an expected call of ValidateWorktreeExists.
type NewRepositoryParams ¶
type NewRepositoryParams struct { FS fs.FS Git git.Git Config *config.Config StatusManager status.Manager Logger logger.Logger Prompt prompt.Prompt Worktree worktree.Worktree Verbose bool }
NewRepositoryParams contains parameters for creating a new Repository instance.
type RemoteManagementParams ¶
type RemoteManagementParams struct {
RemoteSource string
}
RemoteManagementParams contains parameters for remote management operations.
type Repository ¶
type Repository interface { // Validate validates that the current directory is a working Git repository. Validate() error // CreateWorktree creates a worktree for the repository with the specified branch. CreateWorktree(branch string, opts ...CreateWorktreeOpts) error // ListWorktrees lists all worktrees for the current repository. ListWorktrees() ([]status.WorktreeInfo, error) // IsGitRepository checks if the current directory is a Git repository (including worktrees). IsGitRepository() (bool, error) // IsWorkspaceFile checks if the current directory contains workspace files. IsWorkspaceFile() (bool, error) // DeleteWorktree deletes a worktree for the repository with the specified branch. DeleteWorktree(branch string, force bool) error // LoadWorktree loads a branch from a remote source and creates a worktree. LoadWorktree(remoteSource, branchName string) error // ParseConfirmationInput parses confirmation input from user. ParseConfirmationInput(input string) (bool, error) // Validation methods ValidateRepository(params ValidationParams) (*ValidationResult, error) ValidateWorktreeExists(repoURL, branch string) error ValidateGitStatus() error ValidateOriginRemote() error // Status management methods AddWorktreeToStatus(params StatusParams) error HandleStatusAddError(err error, params StatusParams) error HandleRepositoryNotFoundError(params StatusParams) error AutoAddRepositoryToStatus(repoURL, repoPath string) error RemoveWorktreeFromStatus(repoURL, branch string) error CleanupWorktreeDirectory(worktreePath string) CleanupOnWorktreeCreationFailure(repoURL, branch, worktreePath string) // Remote management methods HandleRemoteManagement(remoteSource string) error HandleExistingRemote(remoteSource string) error AddNewRemote(remoteSource string) error ConstructRemoteURL(originURL, remoteSource, repoName string) (string, error) ExtractHostFromURL(url string) string DetermineProtocol(originURL string) string ExtractRepoNameFromFullPath(fullPath string) string }
Repository interface provides Git repository management functionality.
func NewRepository ¶
func NewRepository(params NewRepositoryParams) Repository
NewRepository creates a new Repository instance.
type StatusParams ¶
type StatusParams struct { RepoURL string Branch string WorktreePath string WorkspacePath string Remote string IssueInfo *issue.Info }
StatusParams contains parameters for status operations.
type ValidationParams ¶
ValidationParams contains parameters for repository validation.
type ValidationResult ¶
ValidationResult contains the result of repository validation.