#!/bin/sh
case "$1" in
	git.debian.org|frisk-repo|frisk-build)
		case "$2" in
			git-upload-pack*)
				unset SSH_AUTH_SOCK # Workaround https://bugs.debian.org/513235
				case "$1" in
					*.git.sourceforge.net|git.sv.gnu.org)
						exec ssh -o 'VisualHostKey no' -o 'IdentityFile ~/.ssh/id/git' -o 'ControlMaster auto' -o 'ControlPath /run/user/%i/ssh-control-git-%l->%r@%h:%p' -i ~/.ssh/id/git "$@"
						;;
					*)
						exec ssh -o 'VisualHostKey no' -o 'IdentityFile ~/.ssh/id/git' -o 'ControlMaster auto' -o 'ControlPath /run/user/%i/ssh-control-git-%l->%r@%h:%p' -i ~/.ssh/id/git "$1" "$(echo "$2" | sed "s/^\(git-upload-pack \)'\([^']\+\)'$/\1\2/")"
						;;
				esac
				;;
			*)
				exec ssh -o 'VisualHostKey no' "$@"
				;;
		esac
		;;
	*)
		exec ssh -o 'VisualHostKey no' "$@"
		;;
esac
