fix: 加 .gitattributes 對 raw/** 關閉換行正規化

core.autocrlf=true 下,已 commit 的 raw/converted/*.md 於 Windows checkout
會被 git 轉成 CRLF,使磁碟 bytes 與 manifest 登記的 LF-hash 不符、--verify
誤報 mismatch——在 git 層抵銷了轉換器的 write_bytes 修復。以 `raw/** -text`
把「登記 hash == 磁碟 bytes」的不變式延伸到 git 的 checkin/checkout。
AGENTS.md §1.4 補記此機制。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
LittleYellow
2026-07-23 08:23:04 +08:00
parent f9a0cd2369
commit d41cb49a45
2 changed files with 10 additions and 1 deletions

8
.gitattributes vendored Normal file
View File

@@ -0,0 +1,8 @@
# raw/ 是 hash 釘選的 provenance 帳本AGENTS.md §1.4 / §9 / §14
# git 一律不得正規化其換行,否則 checkout 後磁碟 bytes 會與 manifest 的
# SHA-256 不符,讓 --verify 對帳失準(本專案 core.autocrlf=true
# 轉換器已在寫入時以 write_bytes 固定為登記的那份 bytes此處把同樣的
# 保證延伸到 git 的 checkin/checkout。
raw/originals/** -text
raw/converted/** -text
raw/manifest.json -text