summaryrefslogtreecommitdiff
path: root/commit.d
diff options
context:
space:
mode:
Diffstat (limited to 'commit.d')
-rwxr-xr-xcommit.d/50vcs-commit15
1 files changed, 15 insertions, 0 deletions
diff --git a/commit.d/50vcs-commit b/commit.d/50vcs-commit
index d484626..a700589 100755
--- a/commit.d/50vcs-commit
+++ b/commit.d/50vcs-commit
@@ -41,6 +41,21 @@ fi
if [ "$VCS" = git ] && [ -d .git ]; then
if [ -n "$USER" ]; then
+ # Use user.name and user.email from the gitconfig belonging
+ # to the user who became root.
+ USER_HOME="$(perl -e 'print ((getpwnam("joey"))[7])')"
+ if [ -n "$USER_HOME" ] && [ -e "$USER_HOME/.gitconfig" ]; then
+ if [ -z "$GIT_AUTHOR_NAME" ]; then
+ GIT_AUTHOR_NAME=$(git config -f "$USER_HOME/.gitconfig" user.name)
+ fi
+ if [ -z "$GIT_AUTHOR_EMAIL" ]; then
+ GIT_AUTHOR_EMAIL=$(git config -f "$USER_HOME/.gitconfig" user.email)
+ fi
+ fi
+ if [ -z "$GIT_COMMITTER_EMAIL" ]; then
+ GIT_COMMITER_EMAIL="$(git config --global user.email)"
+ fi
+
if [ -z "$GIT_AUTHOR_NAME" ]; then
export GIT_AUTHOR_NAME="$USER"
fi