51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/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 ../app/scodoc/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
|