X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tools%2Fgeneratechangelog-pipeline.sh;h=e4aae94f7bc4b8a480939ced763b7d942f9d18bd;hb=169cead7acf4c9d9c569d384945d75f41eaac81d;hp=e2fa55e4557b6a147a8c28d733d66deff1284a3b;hpb=a3f638ca7670587565a7cf00f02db651c3e29f5a;p=osm%2Fdevops.git
diff --git a/tools/generatechangelog-pipeline.sh b/tools/generatechangelog-pipeline.sh
index e2fa55e4..e4aae94f 100755
--- a/tools/generatechangelog-pipeline.sh
+++ b/tools/generatechangelog-pipeline.sh
@@ -1,19 +1,27 @@
#!/bin/bash
REPO_NAME=$(basename $(git config --get remote.origin.url) | cut -d'.' -f1)
+git pull --tags origin master &> /dev/null
+
+echo "
$REPO_NAME Changelog
"
# get the latest tag
TAG_START=$(git tag | sort -Vr | head -1)
-head_tag_diff=$(git rev-list $TAG_START ^HEAD |wc -l)
-if [ $head_tag_diff -eq 0 ]; then
- # HEAD and latest tag intersect. Instead try and find a previous tag and use that as the start diff
- TAG_END=$TAG_START
- TAG_START=$(git tag | sort -Vr | head -2 | sort -V | head -1)
+# check to see if there is a tag start first.
+if [ ! -z "${TAG_START}" ]; then
+ head_tag_diff=$(git rev-list HEAD ^${TAG_START} |wc -l)
+ if [ $head_tag_diff -eq 0 ]; then
+ # HEAD and latest tag intersect. Instead try and find a previous tag and use that as the start diff
+ TAG_END=$TAG_START
+ TAG_START=$(git tag | sort -Vr | head -2 | sort -V | head -1)
+ else
+ TAG_END="HEAD"
+ fi
+
+ echo "tag: ${TAG_START} -> ${TAG_END}
"
+ git log --pretty=format:" %h • %s " --reverse ${TAG_START}..${TAG_END}
else
- TAG_END="HEAD"
+ # no tag, just give the full log
+ git log --pretty=format:" %h • %s " --reverse
fi
-git pull --tags origin master &> /dev/null
-echo "$REPO_NAME Changelog
"
-echo "tag: ${TAG_START} -> ${TAG_END}
"
-git log --pretty=format:" %h • %s " --reverse ${TAG_START}..${TAG_END}