]>
Commit | Line | Data |
---|---|---|
890a210e | 1 | #!/bin/sh |
22835800 | 2 | # $Id$ |
e327b68b | 3 | # Run this to generate ChangeLog. |
890a210e ER |
4 | |
5 | if [ ! -x /usr/bin/svn2log ]; then | |
6 | echo >&2 'Need svn2log program!' | |
7 | exit 1 | |
8 | fi | |
9 | ||
2165e21a JK |
10 | # make sure '.' entry is up to date, or the log will be outdated too |
11 | svn up . >/dev/null | |
12 | ||
890a210e ER |
13 | # create users for svn2log format |
14 | tmp=$(mktemp -q svn2logXXXXXX 2>/dev/null || echo ${TMPDIR:-/tmp}/svn2log.tmp) | |
15 | > $tmp | |
16 | ||
17 | [ -z "$users" -a -f ../CVSROOT/users ] && users=../CVSROOT/users | |
18 | [ -z "$users" -a -f ~/.CVS-PLD/CVSROOT/users ] && users=~/.CVS-PLD/CVSROOT/users | |
19 | if [ -z "$users" ]; then | |
20 | echo >&2 "Can't find users file!" | |
21 | echo >&2 'Run in parent dir to fetch one:' | |
22 | echo >&2 '$ cvs -d :pserver:cvs@cvs.pld-linux.org:/cvsroot co CVSROOT/users' | |
23 | exit 1 | |
24 | fi | |
25 | ||
61900a8e ER |
26 | # be sure users file is up to date |
27 | ( | |
28 | cd $(dirname "$users") | |
29 | cvs up users | |
30 | ) | |
31 | ||
890a210e ER |
32 | 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 |
33 | ||
3bac7d42 ER |
34 | branch=$(svn info | awk '/URL:/{print $NF}' | sed -e 's,^.*svn.pld-linux.org/svn,,') |
35 | ||
d2480102 ER |
36 | if grep -q vim:encoding=utf-8 $users; then |
37 | charset=UTF-8 | |
38 | else | |
39 | charset=ISO8859-2 | |
40 | fi | |
639b1d23 | 41 | 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 |
890a210e ER |
42 | rm -f $tmp |
43 | ||
44 | # obfuscate emails <user@domain> and (user@domain) | |
45 | sed -i -e 's,\([<(].*\)@\(.*[)>]\),\1/at/\2,g' ChangeLog |