#!/usr/bin/env bash # Lint all commit messages that are newer than upstream/main if running # locally or the commits in the push or PR if in CircleCI. # The rules can be found in /.gitlint repository="zulip/zulip" if [[ " $(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" else range="upstream/main..HEAD" fi commits=$(git log "$range" | wc -l) if [ "$commits" -gt 0 ]; then # Only run gitlint with non-empty commit lists, to avoid a printed # warning. gitlint --commits "$range" fi