From 1e221f9c074ba0aa1028c40a78cb20bd1acb0ea6 Mon Sep 17 00:00:00 2001 From: Ted Lilley Date: Sun, 14 Aug 2016 02:57:11 -0400 Subject: [PATCH] feat: allow user to specify ssh or https access to an alternate site such as bitbucket --- libexec/basher-_clone | 16 +++++++++++++--- libexec/basher-install | 4 +++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/libexec/basher-_clone b/libexec/basher-_clone index bb16507..80884eb 100755 --- a/libexec/basher-_clone +++ b/libexec/basher-_clone @@ -5,18 +5,26 @@ set -e -if [ "$#" -ne 1 ]; then +if [ "$#" -lt 1 ]; then basher-help _clone exit 1 fi -package="$1" +package=$1 if [ -z "$package" ]; then basher-help _clone exit 1 fi +site=${2:-github.com} +proto=https + +[[ $site == *@* ]] && { + IFS=@ read -r login site <<< "$site" + proto=ssh +} + IFS=/ read -r user name <<< "$package" if [ -z "$user" ]; then @@ -34,4 +42,6 @@ if [ -e "$BASHER_PACKAGES_PATH/$package" ]; then exit 0 fi -git clone --depth=1 --recursive "https://github.com/$package.git" "${BASHER_PACKAGES_PATH}/$package" +[[ $proto == "ssh" ]] && repo=$login${login:+@}$site: || repo=$proto://$site/ + +git clone --depth=1 --recursive "$repo$package".git "${BASHER_PACKAGES_PATH}/$package" diff --git a/libexec/basher-install b/libexec/basher-install index 556ecd4..49b9dbb 100755 --- a/libexec/basher-install +++ b/libexec/basher-install @@ -16,6 +16,8 @@ if [ -z "$package" ]; then exit 1 fi +[[ $package == *:* ]] && IFS=: read -r site package <<< "$package" + IFS=/ read -r user name <<< "$package" if [ -z "$user" ]; then @@ -28,7 +30,7 @@ if [ -z "$name" ]; then exit 1 fi -basher-_clone "$package" +basher-_clone "$package" "$site" basher-_deps "$package" basher-_link-bins "$package" basher-_link-man "$package"