fix: 清掉改造过程留下的陈旧引用(代码改了、文档还写着旧的)
这一轮做的是交付一致性检查:把这一路改掉/移走/删掉的每个符号在全仓(含文档)扫一遍。42 处命中里 38 处是正当的 —— CHANGELOG 与 ADR 里讲“原来是什么”属于历史叙述,test 里的 Assert-FileExists 是因为我只抑制了误判而没有改名。剩下的 4 处是真陈旧: * README 还在配置表里写着 CatalogMaxDepth,而那个配置项上一轮已经整条移除; * Get-BakNRetItemArchiveName 的 param 里还留着一个内联的 [int]$MaxDepth = 5(上一轮的删除按行匹配,没覆盖到这种写在同一行的参数),它已经没有任何调用方传值; * tools\lab\README.md 与 docs\agents\domain.md 还写着模块叫 Common.psm1。 这正是这次改造从头到尾在抓的毛病:文档承诺的东西,代码已经不做了。区别是多了一个可执行的检查 —— 符号改名/删除之后,全仓扫一遍旧名字。 验收:test.ps1 9/9 全绿(7 与 5.1)、真实清单只读冒烟 4/4。
This commit is contained in:
1 parent
c4452a749c
commit
120cf3584b
4 files changed
+6
-7
No files matched your search
+2
-2
@@ -132,7 +132,7 @@ gsudo pwsh -NoProfile -File .\tools\lab\Lab.ps1 reset # 秒回 clean-baseli
|
||||
9. VM 是**未激活**的 Windows:会有水印,个性化受限,功能测试不受影响。
|
||||
10. **PowerShell Direct 的默认端点是 Windows PowerShell 5.1**(不是 7)。要在 VM 里跑 7 的代码
|
||||
必须显式 `Start-Process pwsh.exe`(`Lab.ps1` 就是这么做的)。5.1 还读不了仓库里无 BOM 的
|
||||
UTF-8 脚本(见下「已知问题」),`Import-Module C:\BakNRet\Common.psm1` 会报一串「缺少右 }」。
|
||||
UTF-8 脚本(见下「已知问题」),`Import-Module C:\BakNRet\BakNRet\BakNRet.psd1` 会报一串「缺少右 }」。
|
||||
|
||||
## 已知问题与规避
|
||||
|
||||
@@ -180,7 +180,7 @@ Get-Content -LiteralPath out.txt -Encoding UTF8
|
||||
如果希望产品层面自动发现,可以在「源未更新」的判断里带上「本次解析出的 roots/layouts 是否与
|
||||
manifest 记录的一致」,不一致就不要跳过。### 仓库里的 PowerShell 文件是「UTF-8 无 BOM」
|
||||
|
||||
`Backup.ps1` / `Common.psm1` 等都没有 BOM(开头字节是 `3C 23 0A` = `<#` + 换行)。
|
||||
`Backup.ps1` / `BakNRet\BakNRet.psd1` 等都没有 BOM(开头字节是 `3C 23 0A` = `<#` + 换行)。
|
||||
PowerShell 7 默认按 UTF-8 读,没问题;**Windows PowerShell 5.1 会把无 BOM 文件按 ANSI(GBK) 读**,
|
||||
中文注释会被拆出错字节,甚至报「语句块或类型定义中缺少右 }」这类假解析错误。
|
||||
要么给这些文件加 BOM,要么在文档里明确只支持 PowerShell 7。
|
||||
|
||||
Reference in new issue
Block a user