#!/bin/sh
-# $Id: changelog.sh 8104 2006-12-14 17:14:21Z glen $
-# Run this to generate all the initial makefiles, etc.
+# $Id$
+# Run this to generate ChangeLog.
if [ ! -x /usr/bin/svn2log ]; then
echo >&2 'Need svn2log program!'
exit 1
fi
+# make sure '.' entry is up to date, or the log will be outdated too
+svn up . >/dev/null
+
# create users for svn2log format
tmp=$(mktemp -q svn2logXXXXXX 2>/dev/null || echo ${TMPDIR:-/tmp}/svn2log.tmp)
> $tmp
awk -F":" ' { login=$1; if ($3 != "") { name=$3 } else { name=$1 }; email=$2; printf "%s\t%s <%s@pld-linux.org>\n", login, name, login } ' $users > $tmp
-svn log -v --xml | svn2log --users-charset=ISO8859-2 --domain "pld-linux.org" -p /rc-scripts/trunk -u $tmp --exclude ChangeLog -o ChangeLog
+branch=$(svn info | awk '/URL:/{print $NF}' | sed -e 's,^.*svn.pld-linux.org/svn,,')
+
+if grep -q vim:encoding=utf-8 $users; then
+ charset=UTF-8
+else
+ charset=ISO8859-2
+fi
+LC_ALL=C svn log -v --xml | LC_ALL=C svn2log --users-charset=$charset --domain "pld-linux.org" -p $branch -u $tmp --exclude ChangeLog -o ChangeLog
rm -f $tmp
# obfuscate emails <user@domain> and (user@domain)