diff options
author | Oliver Smith <osmith@sysmocom.de> | 2019-03-22 12:03:54 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2019-03-26 10:38:58 +0100 |
commit | 3b3a250f6b59df5c52723d5fd49e857a6d483e90 (patch) | |
tree | e670096182631f183d8cc8db51911c7cff3ceca2 /scripts/osmocom-list-commits.sh | |
parent | bb714ca04228882a7c24a3a0c393e34ddc17b7c2 (diff) |
osmocom-list-commits.sh: move functions to common.sh
Prepare for the upcoming osmocom-build-old-tags-against-master.sh
script, which will benefit from querying the last n git tags in advance.
Related: OS#3765
Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4
Diffstat (limited to 'scripts/osmocom-list-commits.sh')
-rwxr-xr-x | scripts/osmocom-list-commits.sh | 48 |
1 files changed, 5 insertions, 43 deletions
diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh index 886cb03..e0d3eb0 100755 --- a/scripts/osmocom-list-commits.sh +++ b/scripts/osmocom-list-commits.sh @@ -2,8 +2,8 @@ # Environment variables: # * NO_HEADER: do not output the header line when set +. "$(dirname "$0")/common.sh" FORMAT_STR="%-22s %-42s %9s %-40s %s\n" -URL="https://git.osmocom.org" REPOS=" libasn1c libosmo-abis @@ -27,43 +27,6 @@ REPOS=" osmocom-bb " -# Print commit of HEAD for an Osmocom git repository, e.g.: -# "f90496f577e78944ce8db1aa5b900477c1e479b0" -# $1: repository -get_head_commit() { - # git output: - # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD - ret="$(git ls-remote "$URL/$1" HEAD)" - ret="$(echo "$ret" | awk '{print $1}')" - echo "$ret" -} - -# Print last tag and related commit for an Osmocom git repository, e.g.: -# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" -# Print "-" when no tags were found. -# $1: repository -get_last() { - # git output: - # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 - # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} - # ... - # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} - # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 - # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 - # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} - # ... - ret="$(git ls-remote --tags "$URL/$1")" - ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" - ret="$(echo "$ret" | sort -V -t/ -k3)" - ret="$(echo "$ret" | tail -n 1)" - - if [ -n "$ret" ]; then - echo "$ret" - else - echo "-" - fi -} - # Header if [ -z "$NO_HEADER" ]; then printf "$FORMAT_STR" "# repository" "clone URL" "last tag" "last tag commit" "HEAD commit" @@ -71,14 +34,13 @@ fi # Table for repo in $REPOS; do - last="$(get_last "$repo")" - last_tag="$(echo "$last" | cut -d/ -f 3)" - last_commit="$(echo "$last" | awk '{print $1}')" - head_commit="$(get_head_commit "$repo")" + last_tag="$(osmo_git_last_tags "$repo" 1 "-")" + last_commit="$(osmo_git_last_commits "$repo" 1 "-")" + head_commit="$(osmo_git_head_commit "$repo")" printf "$FORMAT_STR" \ "$repo.git" \ - "$URL/$repo" \ + "$OSMO_GIT_URL/$repo" \ "$last_tag" \ "$last_commit" \ "$head_commit" |