OptionalgetOptional: a human-readable context label. Git: current branch name. S3: bucket + prefix.
An opaque revision identifier covering the whole source. Git: HEAD commit SHA. S3: manifest hash or max version timestamp. Changes whenever any file in the source changes.
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.
OptionalonProgress: (done: number, total: number) => voidOptionalgetOptional: files modified but not yet "committed" to the source. Git: uncommitted working-tree changes. S3 / local FS: return empty Set.
Files changed since a given revision.
patternsis 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.