20 lines
450 B
Bash
20 lines
450 B
Bash
#!/bin/bash -eu
|
|
versions() {
|
|
git tag | grep '^v' | sort --field-separator=. --key=1,1nr --key=2,2nr --key=3,3nr
|
|
}
|
|
|
|
if [[ $# > 0 ]]; then
|
|
current="$1"
|
|
else
|
|
current="$(versions | head -n1)"
|
|
fi
|
|
if [[ $# > 1 ]]; then
|
|
previous="$2"
|
|
else
|
|
previous="$(versions | head -n2 | tail -n1)"
|
|
fi
|
|
|
|
echo "Changelog $previous -> $current"
|
|
echo "=========================="
|
|
|
|
git log "${previous}..${current}" --pretty=oneline | cut -d' ' -f2- | sed -E -e 's/^/* /'
|