mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-13 21:09:07 +08:00
The kernel repository has a .mailmap file to remap author names and email addresses to their desired format in Git logs (for details, see gitmailmap documentation [0]). Alas, this is only visible for author information when looking at the logs locally, as GitHub does not support mailmaps at the moment [1]. This commit adds a .mailmap file for libbpf, automatically generated from the kernel's version. The script to generate the .mailmap is added, too: it works by grepping email addresses from authors in the repository, and collecting all lines ending with this address in the kernel's .mailmap - in other words, all lines where this address is used as a pattern for a remapping. To keep the .mailmap up-to-date, add a call to the script to sync-kernel.sh. [0] https://git-scm.com/docs/gitmailmap [1] https://github.com/orgs/community/discussions/22518 Signed-off-by: Quentin Monnet <qmo@kernel.org>
38 lines
728 B
Bash
Executable File
38 lines
728 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
usage () {
|
|
echo "USAGE: ./mailmap-update.sh <libbpf-repo> <linux-repo>"
|
|
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}"
|