diff --git a/tag_generator.sh b/tag_generator.sh index 39c384ee..27e39182 100755 --- a/tag_generator.sh +++ b/tag_generator.sh @@ -27,22 +27,23 @@ else fi echo "compare_json:$compare_json\n" new_patch=$patch + new_minor=$minor while IFS= read -r commit_json; do # 使用 jq 解析每一行的 JSON 对象 commit_id=$(echo "$commit_json" | jq -r '.id') commit_message=$(echo "$commit_json" | jq -r '.message') echo "----$commit_message" - if [[ "$commit_message" =~ ("feat:"*) ]]; then - ((minor++)) + if [[ "$commit_message" =~ ("feat:"*) ]] && [[ $new_minor == $minor ]]; then + ((new_minor++)) # new_patch=0 - break - elif [[ "$commit_message" =~ ("fix:"*) ]] && [[ $new_patch == $patch ]]; then +# break + elif [[ "$commit_message" =~ ("fix:"*) ]]; then ((new_patch++)) - elif [[ ! "$commit_message" =~ ("Merge"* | "Revert"*) ]] && [[ $new_patch == $patch ]]; then + elif [[ ! "$commit_message" =~ ("Merge"* | "Revert"*) ]]; then ((new_patch++)) fi done < <(echo "$compare_json" | jq -c '.commits[] | {id: .id, message: .message}') - next_tag="v$major.$minor.$new_patch" + next_tag="v$major.$new_minor.$new_patch" fi echo "New Tag:$newest_tag;New version: $next_tag;command: $1" if [[ "$1" == "generate_tag" ]];then