diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..9f8196f --- /dev/null +++ b/.mailmap @@ -0,0 +1,16 @@ +Alexei Starovoitov +Antoine Tenart +Björn Töpel +Changbin Du +Colin Ian King +Dan Carpenter +Geliang Tang +Herbert Xu +Jakub Kicinski +Leo Yan +Mark Starovoytov +Maxim Mikityanskiy +Maxim Mikityanskiy +Quentin Monnet +Quentin Monnet +Vadim Fedorenko diff --git a/scripts/mailmap-update.sh b/scripts/mailmap-update.sh new file mode 100755 index 0000000..13a3dcf --- /dev/null +++ b/scripts/mailmap-update.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -eu + +usage () { + echo "USAGE: ./mailmap-update.sh " + exit 1 +} + +LIBBPF_REPO="${1-""}" +LINUX_REPO="${2-""}" + +if [ -z "${LIBBPF_REPO}" ] || [ -z "${LINUX_REPO}" ]; then + echo "Error: libbpf or linux repos are not specified" + usage +fi + +LIBBPF_MAILMAP="${LIBBPF_REPO}/.mailmap" +LINUX_MAILMAP="${LINUX_REPO}/.mailmap" + +tmpfile="$(mktemp)" +cleanup() { + rm -f "${tmpfile}" +} +trap cleanup EXIT + +grep_lines() { + local pattern="$1" + local file="$2" + grep "${pattern}" "${file}" || true +} + +while read -r email; do + grep_lines "${email}$" "${LINUX_MAILMAP}" >> "${tmpfile}" +done < <(git log --format='<%ae>' | sort -u) + +sort -u "${tmpfile}" > "${LIBBPF_MAILMAP}" diff --git a/scripts/sync-kernel.sh b/scripts/sync-kernel.sh index 55ffcd1..36bb96f 100755 --- a/scripts/sync-kernel.sh +++ b/scripts/sync-kernel.sh @@ -352,4 +352,10 @@ else esac fi +echo "Regenerating .mailmap..." +cd_to "${LINUX_REPO}" +git checkout "${TIP_SYM_REF}" +cd_to "${LIBBPF_REPO}" +"${LIBBPF_REPO}"/scripts/mailmap-update.sh "${LIBBPF_REPO}" "${LINUX_REPO}" + cleanup