dtree

Програм из командне линије за исцртавање стабала
git clone https://git.sr.ht/~strahinja/dtree
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 854142d1b65001ff546cc15bc035b6834d59a758
родитељ c8858be2a39da4e5c92d6b340c5c4f06b9242394
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Mon, 20 May 2024 22:07:20 +0200

lib/make{date,version}: Make the version depend on last commit if ahead of tag

Diffstat:
Mlib/makedate | 4++--
Mlib/makeversion | 31+++++++++++++++++++++++++------
измењених датотека: 2, додавања: 27(+), брисања: 8(-)

diff --git a/lib/makedate b/lib/makedate @@ -5,11 +5,11 @@ LC_ALL=C export LC_ALL if [ -d .got ] && command -v got >/dev/null 2>&1; then - got tag -l | + got log | awk ' /^date: / { sub(/^date: /,"",$0) - print strftime("%B %d, %Y") + print $2 " " $3 ", " $5 exit }' >date.new elif [ -d .git ] && command -v git >/dev/null 2>&1; then diff --git a/lib/makeversion b/lib/makeversion @@ -3,13 +3,32 @@ FALLBACKVER=${FALLBACKVER:-unknown} if [ -d .got ] && command -v got >/dev/null 2>&1; then + lastcommit=$(got log | + awk '/^commit/ {print substr($2,1,9); exit}') got tag -l | - awk ' - /^tag/ { - sub(/^v/,"",$2) - print $2 - exit - }' >version.new + awk -v lastcommit="$lastcommit" ' + /^object: commit/ { + if (!lasttagcom) + { + lasttagcom = substr($3,1,9) + } + next + } + /^tag/ { + if (!ver) + { + sub(/^v/,"",$2) + ver = $2 + } + next + } + END { + printf "%s", ver + if (lastcommit != lasttagcom) + { + printf "-g%s", lastcommit + } + }' >version.new elif [ -d .git ] && command -v git >/dev/null 2>&1; then LC_ALL=C export LC_ALL