scripts: Add `--from-version` to changelog script
This allows generating changelogs from eg. version 1.1 to 1.2 combining any pre-releases.
This commit is contained in:
parent
47b200988c
commit
bcba8f5a21
|
|
@ -1,9 +1,42 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# Version from which to generate the changelog.
|
||||||
|
from=""
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
--from-version)
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
echo "error: '--from-version' requires a version number" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
from=$(echo "$1" | sed 's/^v//')
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "error: unknown argument '$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Current/latest tag.
|
||||||
tag=$(git describe)
|
tag=$(git describe)
|
||||||
version=$(echo $tag | sed 's/^v//')
|
version=$(echo $tag | sed 's/^v//')
|
||||||
|
|
||||||
|
if [ -z "$from" ]; then
|
||||||
|
previous="$(git describe --abbrev=0 HEAD^)"
|
||||||
|
else
|
||||||
|
previous="v$from"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! git rev-parse --verify "$previous^{tag}" >/dev/null 2>&1; then
|
||||||
|
echo "error: '$from' is not a valid version, tag '$previous' not found" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# 👾 Radicle $version"
|
echo "# 👾 Radicle $version"
|
||||||
echo
|
echo
|
||||||
echo "Radicle $version ($(git rev-parse --short HEAD)) is released."
|
echo "Radicle $version ($(git rev-parse --short HEAD)) is released."
|
||||||
|
|
@ -21,7 +54,7 @@ echo
|
||||||
echo "## Changelog"
|
echo "## Changelog"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
git log --pretty=format:'* `%h` **%s** *<%ae>*' $(git describe --abbrev=0 HEAD^)..HEAD
|
git log --pretty=format:'* `%h` **%s** *<%ae>*' $previous..HEAD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "## Checksums"
|
echo "## Checksums"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue