You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/bin/bash
REPO_TYPE=$1 REPO_NAME=$2
function usage() { local BASECMD=$(basename "$0") echo 'usage: <REPO_TYPE> <REPO_NAME> [DESTINATION]' echo 'example:' echo -e '\t# REPO_TYPE=github' echo -e "\t$BASECMD github Dolibarr/dolibarr\n" echo -e '\t# REPO_TYPE=artcode' echo -e "\t$BASECMD artcode pvincent/debian-gnome\n" exit -1 }
function get_github() { local all_releases=$(git ls-remote --tags --sort="v:refname" git://github.com/$REPO_NAME | grep -Eo "v?([0-9]\.)+[0-9]+")
# extract only VERSION without 'v' local non_v_release=$(echo "$all_releases" | grep -v "refs/tags/v" | grep -v v | tail -n1 | cut -f2 | cut -d '/' -f3) non_v_release=${non_v_release%^\{\}} # remove extra characters ^{} from github [ -n "$non_v_release" ] && echo $non_v_release && return
# extract remaining version including 'v' local v_release=$(echo "$all_releases" | tail -n1 | cut -f2 | cut -d '/' -f3) v_release=${v_release%^\{\}} # remove extra characters ^{} from github echo $v_release }
function get_artcode() { release=$(git ls-remote --tags --sort="v:refname" \ https://git.artcode.re/$REPO_NAME | tail -n1 | cut -f2 | cut -d '/' -f3) echo $release }
[[ $# -ne 2 ]] && usage
if [ -z "$(command -v git)" ]; then echo "INSTALLING PACKAGE <GIT> required" sudo apt install -y git fi
case $REPO_TYPE in github) get_github ;; artcode) get_artcode ;; *) echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1 ;; esac
|