You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
982 B
Bash

#!/bin/sh
_old_pwd=$(pwd)
_tmpdir="/tmp/fetch_subrepo_$$"
die () {
echo $1; exit 1
}
version_greater_equal() {
printf '%s\n%s\n' "$2" "$1" | sort -V -C
}
command -v yq 2>&1 >/dev/null || die ">> missing yq"
#version_greater_equal "$( git --version | awk '{print $3}')" 2.25 || die ">> require git version 2.25 or above"
version=$(curl https://raw.githubusercontent.com/snowdrop/godaddy-webhook/master/deploy/godaddy-webhook/Chart.yaml 2>/dev/null| yq e '.version' - )
base_repo=https://github.com/snowdrop/godaddy-webhook
sub_dir=deploy/godaddy-webhook
branch=master
test -d $version && die "version $version exist.."
test ! -d $version \
&& mkdir $_tmpdir \
&& cd $_tmpdir \
&& git init \
&& git config core.sparseCheckout true \
&& git remote add origin $base_repo \
&& echo "$sub_dir" > .git/info/sparse-checkout \
&& git pull --depth=1 origin $branch \
&& mv -v "${_tmpdir}/${sub_dir}" "$_old_pwd/$version" \
&& rm -rf ${_tmpdir} \
&& cd $_old_pwd