summaryrefslogtreecommitdiff
path: root/changelog.sh
blob: 3036aa417e695ba3c426d09ab88bf549cc7f7006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# $Id$
# Run this to generate ChangeLog.

if [ ! -x /usr/bin/cvs2cl ]; then
	echo >&2 'Need cvs2cl program!'
	exit 1
fi

# create users for cvs2log format
tmp=$(mktemp -q cvs2logXXXXXX 2>/dev/null || echo ${TMPDIR:-/tmp}/cvs2log.tmp)
> $tmp

[ -z "$users" -a -f ../CVSROOT/users ] && users=../CVSROOT/users
[ -z "$users" -a -f ~/.CVS-PLD/CVSROOT/users ] && users=~/.CVS-PLD/CVSROOT/users
if [ -z "$users" ]; then
	echo >&2 "Can't find users file!"
	echo >&2 'Run in parent dir to fetch one:'
	echo >&2 '$ cvs -d :pserver:cvs@cvs.pld-linux.org:/cvsroot co CVSROOT/users'
	exit 1
fi

if grep -q vim:encoding=utf-8 $users; then
	charset=UTF-8
else
	charset=ISO8859-2
fi

awk -F: '{ login=$1; if ($3) { name=$3 } else { name=$1 }; printf "%s:%s <%s@pld-linux.org>\n", login, name, login }' $users | \
	iconv -f $charset -t utf-8 > $tmp

cvs2cl --no-times --usermap $tmp --ignore ChangeLog

# manually fix few encodings
sed -i -e 's/porządki/cleanup/' ChangeLog
sed -i -e 's/parę kerberosowych dodatków/some kerberos additions/' ChangeLog

rm -f $tmp

# obfuscate emails <user@domain> and (user@domain)
sed -i -e 's,\([<(].*\)@\(.*[)>]\),\1/at/\2,g' ChangeLog