]>
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]); | |
10 | email = a[2]; | |
11 | print "export GIT_"type"_NAME='\''" name "'\'';" | |
12 | print "export GIT_"type"_EMAIL='\''" email "'\'';" | |
e36215f2 | 13 | }' "${author_file}" |
6c162084 MF |
14 | } |
15 | EOF | |
16 | ||
17 | for x in cvs-authors authors ; do | |
e36215f2 MF |
18 | export author_file="${PWD}/.git/${x}" |
19 | [ -e "${author_file}" ] && break | |
20 | if [ -L "${author_file}" ] ; then | |
21 | echo "error: ${author_file} is a broken link" | |
22 | exit 1 | |
23 | fi | |
6c162084 MF |
24 | done |
25 | git filter-branch \ | |
26 | --env-filter ". ${tmp};"' \ | |
27 | eval `decode "${GIT_AUTHOR_NAME}" AUTHOR`; \ | |
28 | eval `decode "${GIT_COMMITTER_NAME}" COMMITTER`; \ | |
29 | ' "$@" |