Documentation
¶
Overview ¶
Package status provides status management functionality and error definitions.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Worktree management errors. ErrWorktreeAlreadyExists = errors.New("worktree already exists") ErrWorktreeNotFound = errors.New("worktree not found") ErrConfigurationNotInitialized = errors.New("configuration is not initialized") ErrNotInitialized = errors.New("CM is not initialized. Run 'cm init' to initialize") // Repository management errors. ErrRepositoryNotFound = errors.New("repository not found in status") ErrRepositoryAlreadyExists = errors.New("repository already exists") // Workspace management errors. ErrWorkspaceNotFound = errors.New("workspace not found in status") ErrWorkspaceAlreadyExists = errors.New("workspace already exists") // Status file errors. ErrStatusFileParse = errors.New("failed to parse status file") )
Error definitions for status package.
Functions ¶
This section is empty.
Types ¶
type AddRepositoryParams ¶
AddRepositoryParams contains parameters for AddRepository.
type AddWorkspaceParams ¶
type AddWorkspaceParams struct {
Repositories []string // List of repository URLs/names
}
AddWorkspaceParams contains parameters for AddWorkspace.
type AddWorktreeParams ¶
type AddWorktreeParams struct {
RepoURL string
Branch string
WorktreePath string
WorkspacePath string
IssueInfo *issue.Info
Remote string
}
AddWorktreeParams contains parameters for AddWorktree.
type Manager ¶
type Manager interface {
// AddWorktree adds a worktree entry to the status file.
AddWorktree(params AddWorktreeParams) error
// RemoveWorktree removes a worktree entry from the status file.
RemoveWorktree(repoURL, branch string) error
// GetWorktree retrieves the status of a specific worktree.
GetWorktree(repoURL, branch string) (*WorktreeInfo, error)
// ListAllWorktrees lists all tracked worktrees.
ListAllWorktrees() ([]WorktreeInfo, error)
// GetWorkspaceWorktrees returns all worktrees for a specific workspace and branch.
GetWorkspaceWorktrees(workspacePath, branchName string) ([]WorktreeInfo, error)
// GetWorkspaceBranches returns all branch names for a specific workspace.
GetWorkspaceBranches(workspacePath string) ([]string, error)
// CreateInitialStatus creates the initial status file structure.
CreateInitialStatus() error
// AddRepository adds a repository entry to the status file.
AddRepository(repoURL string, params AddRepositoryParams) error
// GetRepository retrieves a repository entry from the status file.
GetRepository(repoURL string) (*Repository, error)
// ListRepositories lists all repositories in the status file.
ListRepositories() (map[string]Repository, error)
// AddWorkspace adds a workspace entry to the status file.
AddWorkspace(workspacePath string, params AddWorkspaceParams) error
// GetWorkspace retrieves a workspace entry from the status file.
GetWorkspace(workspacePath string) (*Workspace, error)
// ListWorkspaces lists all workspaces in the status file.
ListWorkspaces() (map[string]Workspace, error)
}
Manager interface provides status file management functionality.
type Remote ¶
type Remote struct {
DefaultBranch string `yaml:"default_branch"`
}
Remote represents a remote configuration for a repository.
type Repository ¶
type Repository struct {
Path string `yaml:"path"`
Remotes map[string]Remote `yaml:"remotes"`
Worktrees map[string]WorktreeInfo `yaml:"worktrees"`
}
Repository represents a repository entry in the status file.
type Status ¶
type Status struct {
Repositories map[string]Repository `yaml:"repositories"`
Workspaces map[string]Workspace `yaml:"workspaces"`
}
Status represents the status.yaml file structure.
Click to show internal directories.
Click to hide internal directories.