tmp=$(mktemp -t "${0##*/}.XXXXXX")
trap "rm -rf '${tmp}'" EXIT
-cat << \EOF > ${tmp}
+cat <<\EOF >"${tmp}"
decode() {
awk -vid="$1" -vtype="$2" '$1 == id {
match($0, /^[^=]*=\s*([^<]*)<([^>]*)>/, a);
name = gensub(/\s+$/, "", "g", a[1]);
+ name = gensub(/^"/, "", "g", name);
+ name = gensub(/"$/, "", "g", name);
+ name = gensub(/'\''/, "'\''\\\\'\'''\''", "g", name);
email = a[2];
print "export GIT_"type"_NAME='\''" name "'\'';"
print "export GIT_"type"_EMAIL='\''" email "'\'';"
echo "error: could not find ${author_file}"
exit 1
fi
-git filter-branch \
- --env-filter ". ${tmp};"' \
- eval `decode "${GIT_AUTHOR_NAME}" AUTHOR`; \
- eval `decode "${GIT_COMMITTER_NAME}" COMMITTER`; \
+FILTER_BRANCH_SQUELCH_WARNING=1 \
+exec git filter-branch \
+ --env-filter ". '${tmp}';"' \
+ eval "$(decode "${GIT_AUTHOR_NAME}" AUTHOR)"; \
+ eval "$(decode "${GIT_COMMITTER_NAME}" COMMITTER)"; \
' "$@"