Versions in this module Expand all Collapse all v1 v1.0.0 Mar 11, 2026 Changes in this version + func IsWorktree(gitPath string) bool + func ResolveWorktreeGitDir(gitPath string) (string, error) + type CacheInvalidator interface + InvalidateAll func() error + InvalidateFiles func(paths []string) error + WaitForRebuilds func() error + type ExecuteResult struct + ExitCode int + FilesInvalidated []string + InvalidationType InvalidationType + Output string + type ExecutorConfig struct + Cache CacheInvalidator + InvalidationTimeout int + WorkDir string + func DefaultExecutorConfig() ExecutorConfig + type GitAwareExecutor struct + func NewGitAwareExecutor(config ExecutorConfig) (*GitAwareExecutor, error) + func (e *GitAwareExecutor) Execute(ctx context.Context, args ...string) (*ExecuteResult, error) + func (e *GitAwareExecutor) ExecuteWithRebuild(ctx context.Context, rebuild bool, args ...string) (*ExecuteResult, error) + func (e *GitAwareExecutor) FindGitDir(ctx context.Context) (string, error) + func (e *GitAwareExecutor) GetCurrentBranch(ctx context.Context) (string, error) + func (e *GitAwareExecutor) IsDetachedHead(ctx context.Context) bool + type HeadWatcher struct + func NewHeadWatcher(gitDir string, cache CacheInvalidator, callback func()) (*HeadWatcher, error) + func (w *HeadWatcher) Start(ctx context.Context) + func (w *HeadWatcher) Stop() error + type InvalidationType int + const InvalidationFull + const InvalidationNone + const InvalidationTargeted + func (t InvalidationType) String() string