From 88ac9d5aca0fd0303db6bfba8f83c77014c05258 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sat, 7 Nov 2026 09:19:22 +0800 Subject: [PATCH] =?UTF-8?q?docs(termux):=20=E9=80=82=E9=85=8D=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=A4=B4=E9=83=A8=E4=B8=8E=E5=90=88=E5=B9=B6=E6=8C=87?= =?UTF-8?q?=E5=8D=97=E5=AF=B9=E9=BD=90=E5=AE=9E=E9=99=85=E5=90=88=E5=B9=B6?= =?UTF-8?q?=EF=BC=8815=20=E6=8F=90=E4=BA=A4=20/=20--no-ff=20/=20=E4=B8=A4?= =?UTF-8?q?=E5=A4=84=20PC=20=E4=BE=A7=E4=BF=AE=E5=A4=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 头部:`14 个提交,HEAD 38d3024` 是写文档那一刻的自我指涉,永远不可能对——改成 `15 个提交,分叉点 87ab878,合并前 HEAD e987e02`。 - 合并指南第 1 步原来写 `git rebase origin/dev`,实际按用户令走 `--no-ff` 合并 (原 15 个提交一字未改地留在历史里,便于按组 revert),改为记录既成事实与 零文本冲突的交集(Cargo.lock / 两个 README / app-iced 的 Cargo.toml)。 - 新增第 6 条:PC 门禁发现、已就地修掉的两处——cfg(unix) 测试导入未 gate 导致 Windows clippy 判错;两个文件越 400 行红线后的拆分。这两条在 Termux 上跑门禁看不出来, 写进合并指南,免得下一个人以为「本机绿了就等于 PC 绿」。 --- TERMUX-ADAPTATION.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/TERMUX-ADAPTATION.md b/TERMUX-ADAPTATION.md index 1048010..441c59a 100644 --- a/TERMUX-ADAPTATION.md +++ b/TERMUX-ADAPTATION.md @@ -1,6 +1,6 @@ # Termux 适配:方案、改动清单与合并指南 -> 分支:`termux-glibc`(基于 `origin/dev`,14 个提交,HEAD `38d3024`) +> 分支:`termux-glibc`(基于 `origin/dev`,15 个提交,分叉点 `87ab878`,合并前 HEAD `e987e02`) > 目的:让主线快速了解这组代码改了什么、为什么、怎么验证、如何合并。 ## TL;DR @@ -97,8 +97,11 @@ ## 合并指南 -1. `git fetch origin && git rebase origin/dev`(分支基于 `7d8b3b9` 之后的 dev; - dev 若前进,先 rebase 再推)。 +1. ~~`git fetch origin && git rebase origin/dev`~~ → **实际按用户令走 `--no-ff` 合并** + (M156):`git merge --no-ff origin/termux-glibc`,15 个原提交一字未改地留在历史里, + 按平台识别 → 字体 → 文档 → Java → GPU → natives → MC 的分组可整组 revert。 + 与 dev 前进的 12 个提交**零文本冲突**(交集只有 `Cargo.lock` / 两个 README / + `crates/app-iced/Cargo.toml`)。 2. PR base:`dev`。CI 门禁:`fmt` / `clippy --workspace --all-targets -D warnings` / `test --workspace --all-targets` / `cargo deny`(本机没装 deny,PC 上补跑)。 3. 本机已知、**不影响 PC CI** 的三条失败: @@ -107,6 +110,15 @@ - `presenter settings_bridge`:mtime 热重载偶发(flaky,单跑 3 次 2 过 1 挂) 4. **不要提交**:`dist/`、`.gnu/`、任何 `ULL_MSA_CLIENT_ID` 值(仓库 Secret)。 5. 合并后建议真机再跑一次:`--software-renderer` 截图 + `ull java install 17` + MC 启动。 +6. **PC 门禁发现的两处、已在 M156 就地修掉**(都只在 Windows/PC 侧才暴露, + 所以在 Termux 上跑门禁看不出来): + - `game/java/discover.rs` 的两个 `#[cfg(unix)]` 测试,导入没跟着 gate + → Windows 上 `-D warnings` 判「未使用导入」。已把两个 `use` 同样 gate 成 `#[cfg(unix)]`; + 代价是这两个用例在 Windows 上不编译(由 Linux CI 覆盖)。 + - 本分支把 `game/java/install.rs`(456 行)与 `game/install/libraries.rs`(409 行) + 顶过了 400 行红线(`guards.yml` 的 `file-size`)。已按步骤拆出 + `install/termux_install.rs`、`install/one.rs`、`install/libraries/arm64_natives.rs`, + 行为不变、用例原样留在原处。 ## 验证矩阵(本机)