@vivantel/virage-core
    Preparing search index...

    Class CliGitSourceRepository

    Extended source interface that supports listing all available items.

    SourceProvider extends SourceRepository so all existing git-based implementations satisfy the interface without changes. New providers (S3, JDBC, etc.) implement this interface directly.

    The name and type fields identify the provider in logs and config. listAll() returns an async iterable so large sources stream without buffering all items in memory.

    Implements

    Index
    name: "git"

    Human-readable display name (e.g. "git", "s3:my-bucket/docs").

    rootUri: string
    type: "git"

    Provider type identifier — matches the key used in virage.config.json.

    • Files changed since a given revision. patterns is an optional hint — implementations that support path filtering use it; others return all changed files for the caller to filter. Returns null when the revision is unknown → caller falls back to full scan.

      Parameters

      • prevRevision: string
      • Optionalpatterns: string[]

      Returns Promise<{ added: string[]; deleted: string[]; modified: string[] } | null>

    • A stable per-file content identifier. CLI git: blob SHA (content-addressed, stable across rebases). S3: ETag (content MD5). Local FS: SHA-256 of file bytes. Changes when and only when file content changes.

      Parameters

      • files: string[]
      • OptionalonProgress: (done: number, total: number) => void

      Returns Promise<Map<string, string>>