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 ...@@ -41,9 +41,10 @@ if ! echo "$COMMIT_MSG" | grep -qE "^([a-z]+)\(([a-z-]+)\): .{1,50}"; then
41 fi 41 fi
42 42
43 # 提取信息 43 # 提取信息
44 -COMMIT_TYPE=$(echo "$COMMIT_MSG" | sed -E 's/^([a-z]+)\(.*/\1/') 44 +# 只取第一行作为 subject,忽略 Co-Authored-By 等后续行
45 -COMMIT_SCOPE=$(echo "$COMMIT_MSG" | sed -E 's/^[a-z]+\(([a-z-]+)\).*/\1/') 45 +COMMIT_TYPE=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^([a-z]+)\(.*/\1/')
46 -COMMIT_SUBJECT=$(echo "$COMMIT_MSG" | sed -E 's/^[a-z]+\([a-z-]+\): (.{1,50}).*/\1/') 46 +COMMIT_SCOPE=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^[a-z]+\(([a-z-]+)\).*/\1/')
47 +COMMIT_SUBJECT=$(echo "$COMMIT_MSG" | head -n 1 | sed -E 's/^[a-z]+\([a-z-]+\): (.*)$/\1/')
47 48
48 # 类型映射到中文 49 # 类型映射到中文
49 case "$COMMIT_TYPE" in 50 case "$COMMIT_TYPE" in
......