dotfiles/bin/fix-wrong-emails

25 lines
819 B
Bash
Executable File

#!/bin/bash
if [[ $1 != "" ]]; then
git filter-branch --env-filter '
WRONG_EMAIL=$1
NEW_NAME="Andrei Jiroh Eugenio Halili"
NEW_EMAIL="andreijiroh@madebythepins.tk"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
else
echo "Usage $0 <wrong-email@host.me>"
echo "Easily fix wrong emails in Git commit history. It is advised to use this script only"
echo "on non-public commits, since this might be distaterous for forks to pull any changes"
echo "in the public commits."
fi