Versions in this module Expand all Collapse all v0 v0.5.0 Sep 9, 2026 Changes in this version type CacheManager + func (m *CacheManager) OpenCached(ctx context.Context, source knowl.Source) (*gogit.Repository, error) type RepositoryOpener + OpenCached func(ctx context.Context, source knowl.Source) (*gogit.Repository, error) v0.4.0 Sep 7, 2026 Changes in this version + const ClassAuthentication + const ClassFetch + const ClassHostVerification + const ClassMissingRef + const ClassMovedTag + const ClassReachability + const ClassRejectedHistoryRewrite + const ClassRepositoryIdentityMismatch + const ClassResourceLimit + const ClassScanInvalid + const ClassUnsupportedTransport + const DefaultNetworkTimeout + var ErrAuthentication = errors.New("git authentication failed") + var ErrDocumentNotFound = errors.New("git source document not found") + var ErrHostVerification = errors.New("git host verification failed") + var ErrLimit = errors.New("git source exceeds a limit") + var ErrMissingRef = errors.New("tracked git ref not found on remote") + var ErrMovedTag = errors.New("tracked git tag target moved without authorization") + var ErrPageToken = errors.New("git source page token invalid") + var ErrReachability = errors.New("git repository unreachable") + var ErrRejectedHistoryRewrite = errors.New("git branch history rewritten without authorization") + var ErrRepositoryIdentityMismatch = errors.New("git remote repository identity changed without authorization") + var ErrRevisionChanged = errors.New("git source document revision changed") + var ErrScanInvalid = errors.New("git source scan invalid") + var ErrUnsupportedTransport = errors.New("unsupported git transport") + func ClassOfError(err error) string + func CompileMatchers(includes []string) ([]glob.Glob, error) + func DocumentMediaType(relative string) string + func DocumentTitle(relative string, content []byte) string + func DocumentURI(sourceID knowl.SourceID, uriBase, snapshot, relPath string) string + func EncodePageTokenForTest(version int, snapshot, after string) (string, error) + func RedactString(text string) string + func RedactURL(raw string) string + func RepositoryIdentity(config knowl.GitSourceConfig) string + func ResolveAuth(config knowl.GitSourceConfig) (transport.AuthMethod, error) + func WrapClassified(class string, cause error, detail string) error + type Adapter struct + func NewAdapter(limits Limits, resolver *RefResolver, repoStore RepositoryOpener) (*Adapter, error) + func NewDefaultAdapter(repoStore RepositoryOpener) *Adapter + func (a *Adapter) Fetch(ctx context.Context, source knowl.Source, ref knowl.DocumentRef) (knowl.Document, error) + func (a *Adapter) List(ctx context.Context, source knowl.Source, pageToken string) (knowl.DocumentPage, error) + func (a *Adapter) PrepareSnapshot(ctx context.Context, source knowl.Source, previousCheckpoint string) (app.SnapshotPreparation, error) + type CacheManager struct + func NewCacheManager(baseDir string, client *RemoteClient) *CacheManager + func (m *CacheManager) OpenOrClone(ctx context.Context, source knowl.Source) (*gogit.Repository, error) + type ClassifiedError interface + FailureClass func() string + SafeDetail func() string + type Limits struct + MaxDocuments int + MaxFileBytes int64 + MaxVisited int + PageSize int + func DefaultLimits() Limits + type RefResolver struct + func NewRefResolver(client RemoteRefLister) *RefResolver + func (r *RefResolver) CheckLineage(config knowl.GitSourceConfig, prevRemote, prevRepoID string) error + func (r *RefResolver) ResolveRemoteRef(ctx context.Context, config knowl.GitSourceConfig) (*ResolvedRef, error) + func (r *RefResolver) ValidateHistory(storer storage.Storer, config knowl.GitSourceConfig, prevCheckpoint string, ...) error + type RemoteClient struct + func NewRemoteClient() *RemoteClient + func (c *RemoteClient) ListRemoteRefs(ctx context.Context, config knowl.GitSourceConfig) ([]*plumbing.Reference, error) + type RemoteRefLister interface + ListRemoteRefs func(ctx context.Context, config knowl.GitSourceConfig) ([]*plumbing.Reference, error) + type RepositoryOpener interface + OpenOrClone func(ctx context.Context, source knowl.Source) (*gogit.Repository, error) + type ResolvedRef struct + Hash plumbing.Hash + Name plumbing.ReferenceName + func FindTargetRef(refs []*plumbing.Reference, config knowl.GitSourceConfig) (*ResolvedRef, error) + type TreeWalker struct + func NewTreeWalker(limits Limits) *TreeWalker + func (w *TreeWalker) Walk(ctx context.Context, storer storage.Storer, snapshotHash plumbing.Hash, ...) ([]knowl.DocumentRef, error)