diff options
Diffstat (limited to 'scripts-dev/check-newsfragment')
-rwxr-xr-x | scripts-dev/check-newsfragment | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts-dev/check-newsfragment b/scripts-dev/check-newsfragment new file mode 100755 index 0000000000..e4a22bae61 --- /dev/null +++ b/scripts-dev/check-newsfragment @@ -0,0 +1,41 @@ +#!/bin/bash +# +# A script which checks that an appropriate news file has been added on this +# branch. + +set -e + +# make sure that origin/develop is up to date +git remote set-branches --add origin develop +git fetch --depth=1 origin develop + +UPSTREAM=origin/develop + +# if there are changes in the debian directory, check that the debian changelog +# has been updated +if ! git diff --quiet $UPSTREAM... -- debian; then + if git diff --quiet $UPSTREAM... -- debian/changelog; then + echo "Updates to debian directory, but no update to the changelog." >&2 + exit 1 + fi +fi + +# if there are changes *outside* the debian directory, check that the +# newsfragments have been updated. +if git diff --name-only $UPSTREAM... | grep -qv '^develop/'; then + tox -e check-newsfragment +fi + +echo +echo "--------------------------" +echo + +# check that any new newsfiles on this branch end with a full stop. +for f in `git diff --name-only $UPSTREAM... -- changelog.d`; do + lastchar=`tr -d '\n' < $f | tail -c 1` + if [ $lastchar != '.' ]; then + echo -e "\e[31mERROR: newsfragment $f does not end with a '.'\e[39m" >&2 + exit 1 + fi +done + |