From fb915568324b18145e30b0f97a2810df28bbb911 Mon Sep 17 00:00:00 2001 From: baozaotumao Date: Tue, 2 Jun 2026 02:57:32 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BD=B2=E5=90=8D=E9=97=A8=E7=A6=81?= =?UTF-8?q?=E6=AD=A3=E5=88=99=E9=94=9A=E5=AE=9A=E8=A1=8C=E9=A6=96=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E8=AF=AF=E5=88=A0=E6=AD=A3=E6=96=87=E4=B8=AD?= =?UTF-8?q?=E6=8F=90=E5=88=B0=E8=AF=A5=E7=9F=AD=E8=AF=AD=E7=9A=84=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前正则匹配行内任意位置,导致提交正文里描述性提到署名短语的整行被误删。 改为只匹配行首的真尾注(^\s*co-authored-by:...claude)。 scaffold 本地钩子与 template 门禁脚本同步修正。 已测:正文描述行保留、真尾注剥除。 --- template/scripts/check-claude-attribution.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/template/scripts/check-claude-attribution.sh b/template/scripts/check-claude-attribution.sh index 61c9730..9e4861e 100755 --- a/template/scripts/check-claude-attribution.sh +++ b/template/scripts/check-claude-attribution.sh @@ -9,9 +9,10 @@ msg_file="${1:?用法: check-claude-attribution.sh }" include="$(git config --get scaffold.includeClaude 2>/dev/null || echo false)" [ "$include" = "true" ] && exit 0 -if grep -qiE 'co-authored-by:.*claude' "$msg_file"; then +# 仅匹配行首的真尾注,避免误删正文里提到该短语的行 +if grep -qiE '^[[:space:]]*co-authored-by:.*claude' "$msg_file"; then tmp="$(mktemp)" - grep -viE 'co-authored-by:.*claude' "$msg_file" >"$tmp" + grep -viE '^[[:space:]]*co-authored-by:.*claude' "$msg_file" >"$tmp" mv "$tmp" "$msg_file" echo "🛡 已移除 Claude 署名(scaffold.includeClaude=false;保留请运行 ./scripts/claude-attribution.sh on)" fi