From bdc0ad488a7281ecd01141a729d7431394d2bf3f Mon Sep 17 00:00:00 2001 From: viennet Date: Mon, 21 Dec 2020 18:15:01 +0100 Subject: [PATCH] script getting ScoDoc version infos --- config/get_scodoc_version.sh | 50 ++++++++++++++++++++++++++++++++++++ config/utils.sh | 3 ++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100755 config/get_scodoc_version.sh diff --git a/config/get_scodoc_version.sh b/config/get_scodoc_version.sh new file mode 100755 index 00000000..ed577d48 --- /dev/null +++ b/config/get_scodoc_version.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Get version information +# Use VERSION.py, last commit, diff, and last upstream commit date + + +source config.sh +source utils.sh + +# Source code version: +x=$(grep SCOVERSION ../VERSION.py) || terminate "can't access VERSION.py" 1 +x=${x#*\"} +src_version=${x%\"*} + +# last commit +git_last_commit_hash=$(git log -1 --format=%h) +git_last_commit_date=$(git log -1 --format=%ci) + +git_up_commit_hash=$(git log -1 --format=%h origin/ScoDoc8) +git_up_commit_date=$(git log -1 --format=%ci origin/ScoDoc8) + +# Check if git has local changes +nchanges=$(git status --porcelain | grep -c -v '^??') +if [ "$nchanges" -gt 0 ] +then + has_local_changes="yes" +else + has_local_changes="no" +fi + +# Synthetic one-line version: +sco_version="$src_version ($git_up_commit_hash) $git_up_commit_date" +if [ "$has_local_changes" = "yes" ] +then + sco_version="$sco_version (modified)" +fi + +# +if [ "$1" = "-s" ] +then + echo "$sco_version" +else + echo src_version: "$src_version" + echo git_last_commit_hash: "$git_last_commit_hash" + echo git_last_commit_date: "$git_last_commit_date" + echo git_up_commit_hash: "$git_up_commit_hash" + echo git_up_commit_date: "$git_up_commit_date" + echo has_local_diffs: "$has_local_changes" + echo sco_version: "$sco_version" +fi diff --git a/config/utils.sh b/config/utils.sh index d8be48d4..42ae9e2d 100644 --- a/config/utils.sh +++ b/config/utils.sh @@ -23,10 +23,11 @@ check_uid_root() { } terminate() { + status=${2:-1} # default: exit 1 echo echo "Erreur: $1" echo - exit 1 + exit $status } # Start/stop scodoc, using sysv or systemd