hookehuyr

fix(changelog): 修复多行 commit message 导致的重复内容问题

- 只取第一行作为 subject,忽略 Co-Authored-By 等后续行
- 修复 sed 正则表达式匹配范围问题
......@@ -41,9 +41,10 @@ if ! echo "$COMMIT_MSG" | grep -qE "^([a-z]+)\(([a-z-]+)\): .{1,50}"; then
fi
# 提取信息
COMMIT_TYPE=$(echo "$COMMIT_MSG" | sed -E 's/^([a-z]+)\(.*/\1/')
COMMIT_SCOPE=$(echo "$COMMIT_MSG" | sed -E 's/^[a-z]+\(([a-z-]+)\).*/\1/')
COMMIT_SUBJECT=$(echo "$COMMIT_MSG" | sed -E 's/^[a-z]+\([a-z-]+\): (.{1,50}).*/\1/')
# 只取第一行作为 subject,忽略 Co-Authored-By 等后续行
COMMIT_TYPE=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^([a-z]+)\(.*/\1/')
COMMIT_SCOPE=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^[a-z]+\(([a-z-]+)\).*/\1/')
COMMIT_SUBJECT=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^[a-z]+\([a-z-]+\): (.*)$/\1/')
# 类型映射到中文
case "$COMMIT_TYPE" in
......