Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports
Path: blob/main/Tools/scripts/git-get-latest-remote-version.sh
18878 views
1
#!/bin/sh
2
#
3
# MAINTAINER: [email protected]
4
5
set -e
6
set -o pipefail
7
8
export LC_ALL=C
9
10
##
11
## git-get-latest-remote-version.sh: retrieves the latest version of a given Git project on github.com
12
##
13
14
# args
15
16
REPOSITORY_URL="$1"
17
TAG_PREFIX="$2"
18
19
if [ -z "$REPOSITORY_URL" ]; then
20
echo "Usage: $0 <repository-url> <tag-prefix>"
21
exit 1
22
fi
23
24
# check that packaged dependencies are installed
25
26
for dep in git version_sort; do
27
if ! which -s $dep; then
28
echo "error: the '$dep' dependency is missing"
29
if [ $dep == "git" ]; then
30
echo "... please install the 'git' package"
31
elif [ $dep == "version_sort" ]; then
32
echo "... please install the 'libversion' package"
33
fi
34
exit 1
35
fi
36
done
37
38
39
# MAIN
40
41
git ls-remote --refs --tags $REPOSITORY_URL 2>/dev/null |
42
grep "refs/tags/$TAG_PREFIX" |
43
sed -e "s|.*refs/tags/$TAG_PREFIX||" |
44
version_sort |
45
tail -1 ||
46
! echo "failed to find the git project or tags in it"
47
48