Files
persona/scripts
jiantw83andClaude Opus 5 b937c9ad7a fix(gitea): 同步會漏掉子資料夾與非 ASCII 檔名的檔案
兩個各自獨立、但都是「檔案在本機有、在存取庫沒有/拉不回來」的靜默失真:

1. `listAreaFiles` 只收資料夾第一層的 `entry.isFile()`,所以
   `mindmap/threads/archive/`(睡眠時把太久沒動的思維導圖收進去的地方)
   從來沒有被同步過。改成遞迴。

2. `git ls-files` / `status --porcelain` / `diff --name-only` 預設會把
   非 ASCII 路徑引號跳脫成 `"Memory-\350\267\250…"`。長期記憶的檔名正好是中文的,
   於是這些檔名跟工作副本比對不上:pull 時被當成「clone 裡沒有的東西」整批略過
   (拉回一個沒有長期記憶的人格),本機刪掉的也不會從遠端消失。
   一律改用 `-z`,並把三處解析收斂成 `diffPaths()` / `statusPaths()`。
   順便修掉 porcelain 第一筆因為整體 trim 而少一個字元的解析錯誤。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 09:32:49 +00:00
..