Versions in this module Expand all Collapse all v1 v1.108.0 Aug 31, 2026 Changes in this version + const StatusCreated + const StatusDeleted + const StatusModified + const StatusRenamed + var ErrNotARepository = errors.New("not a git repository (or any parent up to root)") + func FindGitDir() (string, error) + func FindGitDirAndRoot() (gitDir, repoRoot string, err error) + func IsMergeInProgress(gitDir string) bool + func RepoRoot() (string, error) + type Client interface + BranchCommitSHAs func(repoRoot string) ([]string, error) + CodeChanges func(repoRoot string) (*aicodingsession.CodeChanges, error) + CodeChangesForCommits func(repoRoot string, shas []string) (*aicodingsession.CodeChanges, error) + CodeChangesForRange func(repoRoot, startSHA, endSHA string) (*aicodingsession.CodeChanges, error) + CommitHeadInfo func(repoRoot string) (sha, message string, err error) + Context func(repoRoot string) (*aicodingsession.GitContext, error) + GeneratedMatcher func(repoRoot string) func(path string) bool + IsMergeCommit func(repoRoot, sha string) (bool, error) + LocalReachableSHAs func(repoRoot string) (map[string]bool, error) + SnapshotWorktree func(repoRoot string) (map[string]string, error) + StagedFiles func(repoRoot string) ([]string, error) + type ExecClient struct + func NewExecClient() *ExecClient + func (c *ExecClient) BranchCommitSHAs(repoRoot string) ([]string, error) + func (c *ExecClient) CodeChanges(repoRoot string) (*aicodingsession.CodeChanges, error) + func (c *ExecClient) CodeChangesForCommits(repoRoot string, shas []string) (*aicodingsession.CodeChanges, error) + func (c *ExecClient) CodeChangesForRange(repoRoot, startSHA, endSHA string) (*aicodingsession.CodeChanges, error) + func (c *ExecClient) CommitHeadInfo(repoRoot string) (sha, message string, err error) + func (c *ExecClient) Context(repoRoot string) (*aicodingsession.GitContext, error) + func (c *ExecClient) GeneratedMatcher(repoRoot string) func(path string) bool + func (c *ExecClient) IsMergeCommit(repoRoot, sha string) (bool, error) + func (c *ExecClient) LocalReachableSHAs(repoRoot string) (map[string]bool, error) + func (c *ExecClient) SnapshotWorktree(repoRoot string) (map[string]string, error) + func (c *ExecClient) StagedFiles(repoRoot string) ([]string, error) + type GoGitClient struct + func NewGoGitClient() *GoGitClient + func (c *GoGitClient) BranchCommitSHAs(repoRoot string) ([]string, error) + func (c *GoGitClient) CodeChanges(repoRoot string) (*aicodingsession.CodeChanges, error) + func (c *GoGitClient) CodeChangesForCommits(repoRoot string, shas []string) (*aicodingsession.CodeChanges, error) + func (c *GoGitClient) CodeChangesForRange(repoRoot, startSHA, endSHA string) (*aicodingsession.CodeChanges, error) + func (c *GoGitClient) CommitHeadInfo(repoRoot string) (sha, message string, err error) + func (c *GoGitClient) Context(repoRoot string) (*aicodingsession.GitContext, error) + func (c *GoGitClient) GeneratedMatcher(repoRoot string) func(path string) bool + func (c *GoGitClient) IsMergeCommit(repoRoot, sha string) (bool, error) + func (c *GoGitClient) LocalReachableSHAs(repoRoot string) (map[string]bool, error) + func (c *GoGitClient) SnapshotWorktree(repoRoot string) (map[string]string, error) + func (c *GoGitClient) StagedFiles(repoRoot string) ([]string, error)