From bbb09ae1b621d9ee080d1108e6391691741350a4 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark" Date: Sun, 2 Aug 2026 16:10:37 -0500 Subject: [PATCH] docs(mesh): record why `* -text` is in GITATTRIBUTES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Git for Windows ships core.autocrlf=true at the SYSTEM level, so without this line a Windows peer gets CRLF working-tree checkouts of every note. omind writes LF everywhere, so the vault would disagree with itself: note_version digests are raw-byte hashes and would differ across the fleet for identical notes, and every index on that peer would rebuild. The line has been doing that job silently since mesh init was written. Deleting it breaks nothing on Linux or macOS, which is exactly what makes it easy to delete during a tidy-up. Found while validating v8.1.0 on a real Windows guest — `git config --system --get core.autocrlf` returns true there out of the box. Co-Authored-By: Claude Opus 5 --- src/omind/mesh.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/omind/mesh.py b/src/omind/mesh.py index 863ea98..1412812 100644 --- a/src/omind/mesh.py +++ b/src/omind/mesh.py @@ -50,6 +50,16 @@ class MeshError(Exception): #: Merge-driver routing for the OMI repo. Notes get the field-level omi #: driver; generated files are never merged (ours + regenerate); journals and #: tombstones are append-only line sets, so git's union driver is exact. +#: +#: ``* -text`` is load-bearing, not tidiness. Git for Windows ships +#: ``core.autocrlf=true`` at the *system* level, so without this line a Windows +#: peer would get CRLF working-tree checkouts of every note. omind writes LF on +#: every platform (``store._atomic_write``), so the vault would then disagree +#: with itself: ``note_version`` digests — raw-byte hashes — would differ across +#: the fleet for identical notes, and every index would rebuild on that peer. +#: ``-text`` disables git's translation repo-wide and overrides ``autocrlf``. +#: Deleting it breaks nothing on Linux or macOS, which is what makes it easy to +#: delete. GITATTRIBUTES = """\ * -text *.md merge=omi