diff --git a/git-open b/git-open index cdc6437..7352b37 100755 --- a/git-open +++ b/git-open @@ -92,18 +92,20 @@ elif grep -q "/scm/" <<<$giturl; then else # custom GitLab gitlab_domain=$(git config --get gitopen.gitlab.domain) + gitlab_ssh_domain=$(git config --get gitopen.gitlab.ssh-domain) + gitlab_ssh_domain=${gitlab_ssh_domain:-$gitlab_domain} gitlab_port=$(git config --get gitopen.gitlab.port) if [ -n "$gitlab_domain" ]; then - if grep -q "$gitlab_domain" <<<$giturl; then + if egrep -q "${gitlab_domain}|${gitlab_ssh_domain}" <<<$giturl; then # Handle GitLab's default SSH notation (like git@gitlab.domain.com:user/repo) - giturl=${giturl/git\@${gitlab_domain}\:/https://${gitlab_domain}/} + giturl=${giturl/git\@${gitlab_ssh_domain}\:/https://${gitlab_domain}/} # handle SSH protocol (links like ssh://git@gitlab.domain.com/user/repo) giturl=${giturl/#ssh\:\/\//https://} # remove git@ from the domain - giturl=${giturl/git\@${gitlab_domain}/${gitlab_domain}/} + giturl=${giturl/git\@${gitlab_ssh_domain}/${gitlab_domain}/} # remove SSH port if [ -n "$gitlab_port" ]; then