From a2f43beef4ea981174d20a320c093b8acf128345 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Thu, 21 Jul 2022 17:50:32 -0700 Subject: [PATCH] commit-message-lint: Take release branches into account. Signed-off-by: Anders Kaseorg --- tools/commit-message-lint | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/commit-message-lint b/tools/commit-message-lint index 418d172c4c..b42075d16c 100755 --- a/tools/commit-message-lint +++ b/tools/commit-message-lint @@ -12,14 +12,18 @@ $(git remote -v) " =~ ' '([^[:space:]]*)[[:space:]]*(https://github\.com/|ssh://git@github\.com/|git@github\.com:)"$repository"(\.git|/)?\ \(fetch\)' ' ]]; then - range="${BASH_REMATCH[1]}/main..HEAD" + remote=${BASH_REMATCH[1]} else - range="upstream/main..HEAD" + remote=upstream fi -commits=$(git log "$range" | wc -l) +upstream_commits=$(git rev-parse "refs/remotes/$remote/main" --glob="refs/remotes/$remote/*.x") +mapfile -t upstream_commits <<<"$upstream_commits" +base=$(git merge-base HEAD "${upstream_commits[@]}") + +commits=$(git rev-list --count "$base..HEAD") if [ "$commits" -gt 0 ]; then # Only run gitlint with non-empty commit lists, to avoid a printed # warning. - gitlint --commits "$range" + gitlint --commits "$base..HEAD" fi