From f4488c930e69cc49cb281276003ba53cc9499976 Mon Sep 17 00:00:00 2001 From: Iliyan Ivanov Date: Thu, 30 Jul 2020 01:22:33 +0300 Subject: [PATCH] remove getopt and support short options too --- migrate.sh | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/migrate.sh b/migrate.sh index 25b4919..eccc09c 100755 --- a/migrate.sh +++ b/migrate.sh @@ -22,53 +22,47 @@ create_repo() { [[ "$repoid" != "null" ]] && sleep 5 || true } -ARGUMENT_LIST=( - "url:" - "token:" - "admin::" - "password::" - "pushurl::" -) - # defaults : ${GITEA_ADMIN_USERNAME:=$USER} : ${GITEA_ADMIN_PASSWORD:=} # example ssh://git@gitea.example.com:3022 : ${GITEA_SERVER_PUSH_URL:=} -opts=$( - getopt \ - --longoptions "$(printf "%s," "${ARGUMENT_LIST[@]}")" \ - --name "$(basename "$0")" \ - --options "" \ - -- "$@" -) - +ARGS=() while [[ $# -gt 0 ]]; do case "$1" in - --url) + --url | -u) GITEA_SERVER_URL="$2" shift 2 ;; - --token) + --token | -t) GITEA_ADMIN_TOKEN="$2" shift 2 ;; - --admin) + --admin | -a) GITEA_ADMIN_USERNAME="$2" shift 2 ;; - --password) + --password | -p) GITEA_ADMIN_PASSWORD="$2" shift 2 ;; - --pushurl) + --pushurl | -s) GITEA_SERVER_PUSH_URL="$2" shift 2 ;; - *) + --) + shift 1 break ;; + -*) + echo "unknown argument: $1" 1>&2 + exit 1 + ;; + *) + ARGS+=("$1") + shift 1 + ;; esac done @@ -84,7 +78,7 @@ GITEA_SERVER_API_URL="${GITEA_SERVER_URL}/api/v1" # /path/to/repo ( use name from path, no org ) # init repos -for repo in "$@"; do +for repo in "${ARGS[@]}"; do repoPath="$(echo "$repo" | cut -d ':' -f1 | tr -d '[:space:]')" repoOrg="$(echo "$repo" | cut -d ':' -f2 | tr -d '[:space:]')" repoName="$(echo "$repo" | cut -d ':' -f3 | tr -d '[:space:]')"