As I know how the url should look like I can allow the default remote being named differently.
18 lines
492 B
Bash
Executable File
18 lines
492 B
Bash
Executable File
#!/bin/sh
|
|
|
|
die() {
|
|
printf "$1" >&2
|
|
exit ${2:-1}
|
|
}
|
|
|
|
remote="$(git remote -v | grep -m1 "druckdev/dotfiles" | cut -f1)"
|
|
url="$(git remote get-url "$remote")"
|
|
! printf "$url" | grep -q '^git@' || die "Using ssh already.\n" 0
|
|
|
|
host="$(printf "$url" | cut -d/ -f3)"
|
|
grep -q "$host" "$HOME"/.ssh/known_hosts || die "No ssh key for $host found.\n"
|
|
|
|
ssh_url="$(printf "$url" | sed 's_^https\?://_git@_;s_/_:_')"
|
|
git remote set-url "$remote" "$ssh_url"
|
|
die "Set $remote remote url to $ssh_url\n" $?
|