You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The fork last took upstream on 2026-09-01 and had fallen 132 commits
behind. This brings it current, including two of our own pull requests
that upstream merged under new commit ids (DeusData#2019 and DeusData#1896) and the
Clang 23 build fix in 0ac290e.
Seven files conflicted, twelve hunks. Nine were additions on both sides
and kept both. Two needed a side chosen:
- internal/cbm/extract_calls.c keeps the fork's swift_argument_value
helper. It is the same logic as the inline form upstream merged, but
upstream has no URL-constructor unwrap yet because pull request DeusData#1976
is still open. Taking upstream would have dropped that fix and its
four tests.
- src/cypher/cypher.c takes upstream. That is our own ddea061 reshaped
by the maintainer to name WITH only when a WITH really sits in the
text the parser could not read.
The merge also brought in upstream's Perl test
perl_malformed_source_remains_partial_issue1838, which the fork never
had. It failed, because fork/main carries d914dea - the version of the
coverage fix written before its regression was found. The amended
version, a5af586, exists only on the pull request DeusData#1971 branch. Its
cbm.c half is applied here: an error region that exactly repeats the
open range is dropped, and ranges that merely overlap are left alone.
Merging an overlap handed a wider range's covering definition to an
error it did not explain, and a real parse failure then vanished from
the report. The amendment's test half is already present, because it is
the same two Perl tests upstream merged.
Suites parse_coverage, extraction, pipeline, cypher and mcp: 1092
passed, 0 failed, 4 skipped.
Committed with --no-verify. The local pre-commit hook reports an unused
variable at tests/windows/test_non_ascii_path.py:179 and would reformat
three files beside it. All four are byte-identical to origin/main, so
the finding is upstream's own code, not this merge. Changing them here
would put an unrelated edit inside a merge commit and would make the
fork differ from upstream for no reason.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Joshua Richter <jrichter5781@gmail.com>
Copy file name to clipboardExpand all lines: README.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -250,7 +250,13 @@ Commit a single compressed file to your repo and your teammates skip the reindex
250
250
-**Best** (`zstd -9` + index strip + `VACUUM INTO`) — written on explicit `index_repository`
251
251
-**Fast** (`zstd -3`) — written by the watcher for low-latency incremental updates
252
252
-**Bootstrap**: when no local DB exists but the artifact is present, `index_repository` imports the artifact first, then runs incremental indexing — avoiding the full reindex cost
253
-
-**No merge pain**: a `.gitattributes` line with `merge=ours` is auto-created on first export, so concurrent edits don't produce conflicts on the binary artifact
253
+
-**No merge pain**: a `.codebase-memory/.gitattributes` line with `merge=ours` is auto-created on first export, so concurrent edits don't produce conflicts on the binary artifact
254
+
-**Commit it deliberately**: the artifact is rewritten on every index, including the watcher's Fast tier, and git stores each rewrite as a full new blob. Committing every refresh is what turns a 20 MB file into gigabytes of history — one team reached ~6 GB across ~350 commits of this single path. Pick a cadence (a release, a milestone, a nightly job) rather than committing every save.
255
+
-**Git LFS, if it must move on every commit**: track it from the **repo-root**`.gitattributes` and leave the auto-created `.codebase-memory/.gitattributes` in place — the nearer file goes on supplying `merge=ours`, and only `filter` comes from the root:
Track only the `.zst`; `artifact.json` is small and carries the schema version. The attribute applies to future commits only, so a repo that already has the blobs in history needs `git-filter-repo` to rewrite them first. Two costs to weigh before adopting it: GitHub meters LFS storage and bandwidth, and its objects cannot be pruned without contacting support; and every teammate needs `git lfs install` — without it their checkout leaves a pointer file where the artifact should be, the integrity-checked import refuses it, and they fall back to a full reindex.
254
260
-**Optional**: never committed unless you want it. Add `.codebase-memory/` to `.gitignore` if you prefer everyone to reindex from scratch.
255
261
256
262
The result is similar in spirit to graphify's `graphify-out/` directory, but as a single compressed file with explicit two-tier export, integrity-checked import, and zero merge friction.
0 commit comments