X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blobdiff_plain;f=gen_changelog.sh;h=b4f5bc883760e2aea2eb0002249457dd192dcace;hp=2a6325cd4361b2fe6196b864ef8d21bb7adabe9b;hb=refs%2Fheads%2Fmaster;hpb=4064414bb4ea9281dc1174669fe3f2cc15e06a2d diff --git a/gen_changelog.sh b/gen_changelog.sh index 2a6325cd..b47a1a2d 100755 --- a/gen_changelog.sh +++ b/gen_changelog.sh @@ -1,33 +1,52 @@ -#!/bin/bash - -# Script to 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 is. -# Old ChangeLog is saved as ChangeLog.bak -# -# ChangeLog.html is also created - -[ ! -e "ChangeLog" ] && exit 1 -[ ! -x "$(command -v git)" ] && exit 0 - -tail -6614 ChangeLog > ChangeLog.$$.old && \ -LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \ -cat ChangeLog.$$.old >> ChangeLog.$$.new && \ -mv -f ChangeLog ChangeLog.bak && \ -mv -f ChangeLog.$$.new ChangeLog - -rm -f ChangeLog.$$.old - - -echo "

" > ChangeLog.$$.new.html && \ -cat ChangeLog.$$.old.html >> ChangeLog.$$.new.html -[ -e ChangeLog.html ] && mv -f ChangeLog.html ChangeLog.html.bak -mv -f ChangeLog.$$.new.html ChangeLog.html - -rm -f ChangeLog.$$.old.html +#!/bin/sh + +## @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 +## + +builddir="$2" + +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 exit 0