]>
Commit | Line | Data |
---|---|---|
e36215f2 | 1 | #!/bin/sh |
6c162084 | 2 | |
e36215f2 MF |
3 | tmp=$(mktemp -t "${0##*/}.XXXXXX") |
4 | trap "rm -rf '${tmp}'" EXIT | |
6c162084 MF |
5 | cat << \EOF > ${tmp} |
6 | decode() { | |
7 | awk -vid="$1" -vtype="$2" '$1 == id { | |
a51e0311 MF |
8 | match($0, /^[^=]*=\s*([^<]*)<([^>]*)>/, a); |
9 | name = gensub(/\s+$/, "", "g", a[1]); | |
47e61d03 MF |
10 | name = gensub(/^"/, "", "g", name); |
11 | name = gensub(/"$/, "", "g", name); | |
12 | name = gensub(/'\''/, "'\''\\\\'\'''\''", "g", name); | |
a51e0311 MF |
13 | email = a[2]; |
14 | print "export GIT_"type"_NAME='\''" name "'\'';" | |
15 | print "export GIT_"type"_EMAIL='\''" email "'\'';" | |
e36215f2 | 16 | }' "${author_file}" |
6c162084 MF |
17 | } |
18 | EOF | |
19 | ||
20 | for x in cvs-authors authors ; do | |
e36215f2 MF |
21 | export author_file="${PWD}/.git/${x}" |
22 | [ -e "${author_file}" ] && break | |
23 | if [ -L "${author_file}" ] ; then | |
24 | echo "error: ${author_file} is a broken link" | |
25 | exit 1 | |
26 | fi | |
6c162084 | 27 | done |
5b0dff8a MF |
28 | if [ ! -e "${author_file}" ] ; then |
29 | echo "error: could not find ${author_file}" | |
30 | exit 1 | |
31 | fi | |
f7555918 MF |
32 | FILTER_BRANCH_SQUELCH_WARNING=1 \ |
33 | exec git filter-branch \ | |
47e61d03 MF |
34 | --env-filter ". '${tmp}';"' \ |
35 | eval "$(decode "${GIT_AUTHOR_NAME}" AUTHOR)"; \ | |
36 | eval "$(decode "${GIT_COMMITTER_NAME}" COMMITTER)"; \ | |
6c162084 | 37 | ' "$@" |