]>
Commit | Line | Data |
---|---|---|
6c162084 MF |
1 | #!/bin/bash |
2 | ||
3 | tmp=$(mktemp) | |
4 | cat << \EOF > ${tmp} | |
5 | decode() { | |
6 | awk -vid="$1" -vtype="$2" '$1 == id { | |
a51e0311 MF |
7 | match($0, /^[^=]*=\s*([^<]*)<([^>]*)>/, a); |
8 | name = gensub(/\s+$/, "", "g", a[1]); | |
9 | email = a[2]; | |
10 | print "export GIT_"type"_NAME='\''" name "'\'';" | |
11 | print "export GIT_"type"_EMAIL='\''" email "'\'';" | |
6c162084 MF |
12 | }' ${author_file} |
13 | } | |
14 | EOF | |
15 | ||
16 | for x in cvs-authors authors ; do | |
17 | export author_file=${PWD}/.git/$x | |
18 | [ -e ${author_file} ] && break | |
19 | done | |
20 | git filter-branch \ | |
21 | --env-filter ". ${tmp};"' \ | |
22 | eval `decode "${GIT_AUTHOR_NAME}" AUTHOR`; \ | |
23 | eval `decode "${GIT_COMMITTER_NAME}" COMMITTER`; \ | |
24 | ' "$@" | |
25 | ||
26 | rm -f $tmp |