mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
Previously, our secondary DA response indicated a) VT420, b) an XTerm version number. Now, we indicate VT220 (which corresponds to the primary DA response), and we report foot's version number as MMmmpp. I.e major, minor and patch versions, using two digits. E.g. 1.4.2 is encoded as 010402
45 lines
1.2 KiB
Bash
Executable file
45 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
default_version=${1}
|
|
src_dir=${2}
|
|
out_file=${3}
|
|
|
|
# echo "default version: ${default_version}"
|
|
# echo "source directory: ${src_dir}"
|
|
# echo "output file: ${out_file}"
|
|
|
|
if [ -d "${src_dir}/.git" ] && command -v git > /dev/null; then
|
|
workdir=$(pwd)
|
|
cd "${src_dir}"
|
|
git_version=$(git describe --always --tags)
|
|
git_branch=$(git rev-parse --abbrev-ref HEAD)
|
|
cd "${workdir}"
|
|
|
|
new_version="${git_version} ($(env LC_TIME=C date "+%b %d %Y"), branch '${git_branch}')"
|
|
else
|
|
new_version="${default_version}"
|
|
fi
|
|
|
|
major=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1/')
|
|
minor=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\2/')
|
|
patch=$(echo "${new_version}" | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\3/')
|
|
|
|
new_version="#define FOOT_VERSION \"${new_version}\"
|
|
#define FOOT_MAJOR ${major}
|
|
#define FOOT_MINOR ${minor}
|
|
#define FOOT_PATCH ${patch}"
|
|
|
|
if [ -f "${out_file}" ]; then
|
|
old_version=$(cat "${out_file}")
|
|
else
|
|
old_version=""
|
|
fi
|
|
|
|
# echo "old version: ${old_version}"
|
|
# echo "new version: ${new_version}"
|
|
|
|
if [ "${old_version}" != "${new_version}" ]; then
|
|
echo "${new_version}" > "${out_file}"
|
|
fi
|