Files

86 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
r"""修两个 BOM 问题。
PowerShell 5.1 的 -Encoding UTF8 会**写 BOM**,害了两处:
1. .gitignore 开头多了 \ufeff -> 第一条规则失效
(结果 dist/ 被提交进去,3195 个文件)
2. ~/.ssh/config 开头多了 \ufeff -> ssh 直接报
"no argument after keyword '\357\273\277'"
统一改成**不带 BOM 的 UTF-8**。
"""
from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote")
SSH_CONFIG = Path.home() / ".ssh" / "config"
GITIGNORE = """# ---- 构建产物(不提交,release 里单独发)----
/dist/
/dist_exe/
/dist_preview/
/_build/jc*/
/_build/out*/
/_build/*.png
/_build/icon_source.png
/_build/icon_preview.png
/_build/admin_preview*.png
/_build/ui_preview.png
/_build/_unit.txt
/_tests/out_java/
/_tests/out_app/
/_tests/received/
/_tests/_stubdata/
/_tests/shots/
# ---- Python ----
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
# ---- 编辑器 / 系统 ----
.vscode/
.idea/
*.swp
Thumbs.db
desktop.ini
.DS_Store
# ---- 其它 ----
*.log
*.tmp
"""
SSH_BLOCK = """# ykxmz-gitee
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/id_ed25519_gitee
IdentitiesOnly yes
StrictHostKeyChecking accept-new
"""
def fix(path: Path, content: str) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_bytes(content.encode("utf-8")) # 明确不带 BOM
raw = path.read_bytes()
bom = "有(不对)" if raw.startswith(b"\xef\xbb\xbf") else "无 ✓"
print(f" {path}")
print(f" 字节数 {len(raw)} 首字节 {raw[:3].hex()} BOM: {bom}")
def main() -> int:
print(" 重写这两个文件(不带 BOM):")
fix(ROOT / ".gitignore", GITIGNORE)
fix(SSH_CONFIG, SSH_BLOCK)
return 0
if __name__ == "__main__":
sys.exit(main())