1 # Set GIT_AUTHOR_NAME etc from dotfiles in the profile.
2 function git_commit_tree() {
4 local who="$(echo $WHO | tr '[[:upper:]]' '[[:lower:]]')"
7 for WHAT in EMAIL NAME; do
8 local what="$(echo $WHAT | tr '[[:upper:]]' '[[:lower:]]')"
11 # Look in $HOME then $PROFILE_HOME.
12 for where in '~' '$PROFILE_HOME'; do
13 eval local value=\$\(\<${where}/".git_${who}_${what}"\) 2>/dev/null
15 if [ -z "$value" ]; then
16 # COMMITTER defaults to AUTHOR.
17 if [ "$WHO" = "COMMITTER" ]; then
18 eval value="\$GIT_AUTHOR_${WHAT}"
21 # Fall back to generic file.
22 if [ -z "$value" ]; then
23 eval value=\$\(\<${where}/".git_${what}"\) 2>/dev/null
27 if [ -n "$value" ]; then
28 eval export "GIT_${WHO}_${WHAT}=\$value"
36 git_commit_tree AUTHOR
37 git_commit_tree COMMITTER