SIGN IN SIGN UP

feat(backend): write changed-path Bloom filters to commit-graph (#1198)

* feat(backend): write changed-path Bloom filters to commit-graph

Writes --changed-paths when building the commit-graph, which adds Bloom
filters that let git cheaply skip commits that did not touch a given
path. This dramatically accelerates `git log -- <path>` and modestly
helps `git blame` on large repos.

Existing repos that already have a Bloom-less commit-graph get a
one-time `--split=replace` rewrite on their next fetch, gated on a new
`commitGraphChangedPathsBackfilledAt` timestamp stored in repo metadata.
Subsequent fetches do a cheap incremental write.

Also moves the `writeCommitGraph` call out of `cloneRepository` and into
`RepoIndexManager.indexRepository` so clone and fetch paths handle the
commit-graph symmetrically. Drops `--write-commit-graph` from the fetch
invocation since that flag does not honor `--changed-paths`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* changelog

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
B
Brendan Kellam committed
f1510c84469622f68bdfefd75853df1c780d5be6
Parent: 99b9af5
Committed by GitHub <noreply@github.com> on 5/12/2026, 7:47:23 PM