29 lines
611 B
Bash
Executable File
29 lines
611 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Dumb script for making a ChangeLog.
|
|
#
|
|
# Invoke like:
|
|
#
|
|
# scripts/git2changelog.sh --after="2010-02-01" --until="2010-02-31"
|
|
#
|
|
|
|
set -e
|
|
|
|
tmp_changelog=$(mktemp /tmp/changelog.XXXXXX)
|
|
|
|
trap "[ -f '$tmp_changelog' ] && rm -f '$tmp_changelog'; [ -f '$changelog~' ] && mv '$changelog~' '$changelog'" 0 2 15
|
|
|
|
changelog="${0%/*}/../ChangeLog"
|
|
|
|
git log --format="%nCommit: %H%nDate: %aD%n%n%s%n%b%nChanged Files:" \
|
|
--name-only "$@" > "$tmp_changelog"
|
|
|
|
cat "$changelog" >> "$tmp_changelog"
|
|
|
|
mv "$changelog" "$changelog~"
|
|
|
|
# This may take a while...
|
|
mv "$tmp_changelog" "$changelog"
|
|
|
|
rm -f "$changelog~"
|