У меня есть часть программного обеспечения (некоторые скрипты) на Github.Скажем, кто-то загружает программное обеспечение по прямой ссылке (без клонирования, я не предполагаю, что у пользователя есть Git).Как я могу добиться, чтобы при запуске скриптов отображался номер текущей версии?В случае, если кто-то действительно клонирует репозиторий, это легко, просто запустив git description.Но, как я уже сказал, я не хочу предполагать, что Git доступен.
Я нашел только следующее решение, которое довольно раздражает и плохо.Я создал пост-фиксацию и зацепку перед фиксацией, сохраняя файл version.txt в хранилище в актуальном состоянии следующим образом:
pre-commit:
#!/bin/sh
#####################################################
#hook for handling version.txt
#we get the current version number in the form x.y-h,
#extract x.y and write the next version number
#x.(y+1) to version.txt before push
#####################################################
VER=`git describe --long`
MAIN=`echo $VER | awk -F "-" '/1/ {print $1}'`
SUB=`echo $VER | awk -F "-" '/1/ {print $2}'`
SUBNEXT=$((SUB+1))
echo $MAIN-$SUBNEXT > version.txt
git add version.txt
post-commit:
#!/bin/bash
####################
#update version.txt
####################
git rm -q version.txt
VER=`git describe --long`
echo $VER > version.txt
Раздражает то, что version.txt всегда отображается как неотслеживаемый файл в состоянии git.Какой лучший способ справиться с этим?