# Convert git log output to ChangeLog format for GNU Emacs.
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# Author: Paul Eggert
-f|--force) force=1 ;;
-n|--nmax) nmax="$2"; shift ;;
-o|--output) output="$2" ; shift ;;
- *) echo "Unrecognized argument: $1" >&2; exit 1 ;;
+ *) printf '%s\n' "Unrecognized argument: $1" >&2; exit 1 ;;
esac
shift
done
if [ ! -f ChangeLog.$nmax ]; then
- echo "Can't find ChangeLog.$nmax" >&2
- echo "Must be run from the top source directory" >&2
+ printf '%s\n' "Can't find ChangeLog.$nmax" >&2
+ printf '%s\n' "Must be run from the top source directory" >&2
exit 1
fi
gen_origin_line=`
grep -E '^commit [0-9a-f]+ [(]inclusive[)]' ChangeLog.$nmax
` || {
- echo "ChangeLog.$nmax lacks a 'commit ... (inclusive)' line" >&2
+ printf '%s\n' "ChangeLog.$nmax lacks a 'commit ... (inclusive)' line" >&2
exit 1
}
set $gen_origin_line
new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
if [ -f "$output" ]; then
- [ ! "$force" ] && echo "$output exists" >&2 && exit 1
+ [ ! "$force" ] && printf '%s\n' "$output exists" >&2 && exit 1
rm -f "$output" || exit 1
fi
# Maybe we should skip all "Merge branch 'master'" messages.
# See eg the cairo-related ones.
./build-aux/gitlog-to-changelog \
- --ignore-matching="^; |^Merge branch 'master' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$" \
+ --ignore-matching="^; |^Merge branch '(master|emacs-[0-9][0-9])' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$|^Merge remote-tracking branch '.*'$" \
--ignore-line='^; ' --format='%B' \
"$gen_origin..$new_origin" >"ChangeLog.tmp" || exit