diff options
-rwxr-xr-x | Master/tlpkg/bin/tl-update-messages | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Master/tlpkg/bin/tl-update-messages b/Master/tlpkg/bin/tl-update-messages index 9ef038e99ec..15330d9e065 100755 --- a/Master/tlpkg/bin/tl-update-messages +++ b/Master/tlpkg/bin/tl-update-messages @@ -47,22 +47,28 @@ xgettext -o tlpkg/translations/messages.pot \ $tmpfile cd $transdir || exit 1 +failed=0 + tmpa=`mktemp` tmpb=`mktemp` sed /POT-Creation-Date:/d <messages.prev >$tmpa sed /POT-Creation-Date:/d <messages.pot >$tmpb + if cmp -s $tmpa $tmpb; then echo "$0: no msg changes." mv messages.prev messages.pot - rm -f $tmpa $tmpb - exit 0 +else + # we get here only if there have been changes. + for i in *.po; do + printf "$i " + msgmerge --backup=none --no-fuzzy-matching --update $i messages.pot + if test $? -ne 0; then + echo "$0: msgmerge failed: $i" >&2 + failed=`expr $failed + 1` + fi + done fi -rm -f $tmpfile $tmpa $tmpb messages.prev -# here we come only if there have been changes -for i in *.po; do - printf "$i " - msgmerge --backup=none --no-fuzzy-matching --update $i messages.pot -done +rm -f $tmpfile $tmpa $tmpb messages.prev -exit $? +exit $failed |