From 607045e44e5fe9f038a22c2b71d30e8b5d1d41f6 Mon Sep 17 00:00:00 2001 From: Yige Date: Sat, 5 Sep 2026 03:34:34 -0400 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=A7=BB=E9=99=A4=E8=AF=AF=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E7=9A=84=20Python=20=E5=AD=97=E8=8A=82=E7=A0=81?= =?UTF-8?q?=E5=B9=B6=E6=96=B0=E5=A2=9E=20.gitignore=20/=20drop=20committed?= =?UTF-8?q?=20bytecode,=20add=20.gitignore=20(#122)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 问题 / Problem `scripts/catalog/__pycache__/validate_catalog_metadata.cpython-314.pyc`(60KB)在 #118 被误提交进仓库。 它是跑仓库校验脚本时的就地产物,**会随 `defaults/market.zip` 分发给每一个客户端**,而且只对生成它的那个 Python 版本(3.14)有效——换个版本就是纯粹的死重量。 本仓库此前**没有 `.gitignore`**,所以这类产物每次都得靠人眼发现。 A Python bytecode artifact was accidentally committed in #118. It ships to every client inside `defaults/market.zip` and is only valid for the exact Python version that produced it. The repository had no `.gitignore` at all, so nothing prevented it. ## 改动 / Changes - 删除该 `.pyc` - 新增 `.gitignore`:`__pycache__/`、`*.py[cod]`、`.DS_Store` ## 与主仓库那道闸门的关系 / Relation to the upstream guard desirecore/desirecore#2602 已让 `sync-market` 在同步目录不干净时拒绝打包——今天正是它拦下了我本机跑校验产生的 `cpython-310.pyc`: ``` Error: [sync-market] 同步目录存在未提交内容,拒绝打包: ?? scripts/catalog/__pycache__/validate_catalog_metadata.cpython-310.pyc ``` 但那道断言只看**未提交内容**,拦不住已经进了仓库的 `cpython-314.pyc`。两处配合才完整:`.gitignore` 防止它被提交,洁净断言防止未提交残留被打包。 ## 验证 / Verification - `validate_catalog_metadata.py --require-complete`:0 error,75 sidecars - `validate-i18n.py`:0 error - 新增 `.gitignore` 后重跑校验,新产生的字节码不再出现在 `git status` 中 Co-authored-by: yi-ge --- .gitignore | 7 +++++++ .../validate_catalog_metadata.cpython-314.pyc | Bin 60328 -> 0 bytes 2 files changed, 7 insertions(+) create mode 100644 .gitignore delete mode 100644 scripts/catalog/__pycache__/validate_catalog_metadata.cpython-314.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..23660e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Python 字节码:跑 scripts/catalog、scripts/i18n 下的校验脚本会就地产生。 +# 它随 defaults/market.zip 分发给每个客户端,且只对生成它的那个 Python 版本有效。 +__pycache__/ +*.py[cod] + +# macOS +.DS_Store diff --git a/scripts/catalog/__pycache__/validate_catalog_metadata.cpython-314.pyc b/scripts/catalog/__pycache__/validate_catalog_metadata.cpython-314.pyc deleted file mode 100644 index 67df7f7a95f8569baccb7d692cd25dd47ec8f502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60328 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