X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blobdiff_plain;f=gen_changelog.sh;h=b4f5bc883760e2aea2eb0002249457dd192dcace;hp=59ffb8580442ef4d38d79a9c9af0051f8a9396c6;hb=refs%2Fheads%2Fmaster;hpb=632d09215f133ab09c1f56de26b12cb35a794806 diff --git a/gen_changelog.sh b/gen_changelog.sh index 59ffb858..b47a1a2d 100755 --- a/gen_changelog.sh +++ b/gen_changelog.sh @@ -1,18 +1,52 @@ -#!/bin/bash +#!/bin/sh -# Script to update ChangeLog file, -# it keeps "pre-svn" history and insert svn log at top, -# it uses C locale for date format. -# It has to be run where ChangeLog is. -# Old ChangeLog is saved as ChangeLog.bak +## @file +## @brief Update ChangeLog file +## - it keeps "pre-svn" history and inserts git log at top, +## - it uses C locale for date format. +## - It has to be run where ChangeLog.gqview is. +## +## ChangeLog.html is also created +## -[ ! -e "ChangeLog" ] && exit 1 +builddir="$2" -tail -6614 ChangeLog > ChangeLog.$$.old && \ -LC_ALL=C git log 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \ -cat ChangeLog.$$.old >> ChangeLog.$$.new && \ -mv -f ChangeLog ChangeLog.bak && \ -mv -f ChangeLog.$$.new ChangeLog +cd "$1" || exit + +[ ! -e "ChangeLog.gqview" ] && exit 1 +[ ! -x "$(command -v git)" ] && exit 1 +[ ! -d ".git" ] && exit 1 + +LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow --use-mailmap 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > "$builddir/ChangeLog.$$.new" && \ +cat ChangeLog.gqview >> "$builddir/ChangeLog.$$.new" && \ +mv -f "$builddir/ChangeLog.$$.new" "$builddir/ChangeLog" + + +echo "" >>"$builddir/ChangeLog.$$.old.html" && \ +echo "" > "$builddir/ChangeLog.$$.new.html" && \ +echo "" >> "$builddir/ChangeLog.$$.new.html" && \ +echo "" >> "$builddir/ChangeLog.$$.new.html" && \ +echo "" >> "$builddir/ChangeLog.$$.new.html" && \ +echo "" >> "$builddir/ChangeLog.$$.new.html" + +rm "$builddir/ChangeLog.$$.old.html" +mv -f "$builddir/ChangeLog.$$.new.html" "$builddir/ChangeLog.html" + +# Meson: distribute in tarballs. The first variable is more reliable, but requires Meson 0.58. +# Fallback to the older one if necessary +# shellcheck disable=SC2154 +for distdir in "$MESON_PROJECT_DIST_ROOT" "$MESON_DIST_ROOT"; do + if [ -n "$distdir" ]; then + cp -f "$builddir/ChangeLog.html" "$distdir/ChangeLog.html" + cp -f "$builddir/ChangeLog" "$distdir/ChangeLog" + break + fi +done -rm -f ChangeLog.$$.old exit 0