Problem
clone_repo() in crates/gitlawb-node/src/sync.rs runs git clone --mirror --filter=blob:limit=10g in promisor mode. The blob:limit filter syntax is sensitive to the local Git version, and the repo pins no minimum Git version anywhere (README, docs/RUN-A-NODE.md, or CI). CI only ever exercises it against ubuntu-latest's Git, so any version skew is invisible to the test suite.
Surfaced during review of #67: jatmn's Git 2.53 (Windows) rejected the --filter=blob:limit=10g invocation, while ubuntu-latest accepts it. The failure is unrelated to #67's diff, but it exposed a real portability gap.
What to do
- Determine the actual minimum Git version that supports the
--mirror --filter=blob:limit=<size> form we rely on, and confirm the size-suffix (10g) parsing floor.
- Document that minimum in README /
docs/RUN-A-NODE.md as a node runtime requirement.
- Consider a startup or CI check that verifies the local Git meets the floor, so a too-old (or differently-behaving) Git fails loudly instead of at clone time.
Notes
Problem
clone_repo()incrates/gitlawb-node/src/sync.rsrunsgit clone --mirror --filter=blob:limit=10gin promisor mode. Theblob:limitfilter syntax is sensitive to the local Git version, and the repo pins no minimum Git version anywhere (README,docs/RUN-A-NODE.md, or CI). CI only ever exercises it against ubuntu-latest's Git, so any version skew is invisible to the test suite.Surfaced during review of #67: jatmn's Git 2.53 (Windows) rejected the
--filter=blob:limit=10ginvocation, while ubuntu-latest accepts it. The failure is unrelated to #67's diff, but it exposed a real portability gap.What to do
--mirror --filter=blob:limit=<size>form we rely on, and confirm the size-suffix (10g) parsing floor.docs/RUN-A-NODE.mdas a node runtime requirement.Notes
crates/gitlawb-node/src/sync.rs(clone_repo, promisor branch).