# -*- coding: utf-8 -*- r'''清掉提交信息开头的 BOM。 现象:Gitee 上提交记录显示 "1.7.1:修白屏...", 开头那个看不见的字符就是 BOM —— PowerShell 的 Set-Content -Encoding UTF8 会加上它。 这个脚本给 git filter-branch --msg-filter 用。 ''' from __future__ import annotations import sys def main() -> int: raw = sys.stdin.buffer.read() # 直接按字节去掉开头的 BOM,别先解码 if raw.startswith(b"\xef\xbb\xbf"): raw = raw[3:] # 正文里也可能混进 BOM,一并清掉 raw = raw.replace(b"\xef\xbb\xbf", b"") sys.stdout.buffer.write(raw) return 0 if __name__ == "__main__": sys.exit(main())