#!/bin/sh
# Translate different repo notations into ssh
# Usage:
#  git repo <url>
#  git repo <host> <repo> [user]
case "$1" in
  (http*)
    if expr "$1" : ".*:" >/dev/null
    then echo "$1" | sed "s|.*//\([^/]*\)/\(.*\)|git@\1:\2.git|"
         exit
    else http=$1 && shift
    fi;;
  (git:*|ssh:*)
    echo "$1"
    exit;;
esac
case $1 in
  (socha) user=software-challenge; host=git@github.com;;
  (hub) host=git@github.com;;
  (lab) host=git@gitlab.com;;
  (*)   host=${1:-gitea@git.jfischer.org};;
esac
user=${3:-${user:-$(git config user.name)}}
repo=${2:-$(basename $PWD)}
if test "$http"
then echo "$http://${host#git*@}/$user/$repo.git"
else echo "$host:$user/$repo.git"
fi