16 lines
683 B
Bash
16 lines
683 B
Bash
#!/usr/bin/env bash
|
|
|
|
# get each set of usernames from the git config
|
|
IDENTITIES=$(git config --global --name-only --get-regexp "user.*..name" | sed -e 's/^user.//' -e 's/.name$//')
|
|
# filter them with fzf
|
|
ID=$(echo "${IDENTITIES}" | fzf -e -1 +m -q "$1")
|
|
if ! git config --global --get-regexp "user.${ID}.name" > /dev/null; then
|
|
echo "Please use a valid git identity
|
|
Options:"
|
|
git config --global --name-only --get-regexp "user.*..name" | sed -e 's/^user.//' -e 's/.name$//' -e 's/^/\t/'
|
|
exit 1
|
|
fi
|
|
|
|
# set the id locally in each repo (eg in the repo's .git/config)
|
|
git config user.name "$(git config user.${ID}.name)"
|
|
git config user.email "$(git config user.${ID}.email)"
|