]> git.pld-linux.org Git - projects/geninitrd.git/blob - changelog.sh
no need to mess with magic values, let the "magic" be value
[projects/geninitrd.git] / changelog.sh
1 #!/bin/sh
2 # $Id$
3 # Run this to generate ChangeLog.
4
5 [ -z "$svn2log" -a -x ~/bin/svn2log.py ] && svn2log=~/bin/svn2log.py
6 [ -z "$svn2log" -a -x /usr/bin/svn2log ] && svn2log=/usr/bin/svn2log
7 if [ -z "$svn2log" ]; then
8         echo >&2 'Need svn2log program!'
9         exit 1
10 fi
11
12 # create users for svn2log format
13 tmp=$(mktemp -q svn2logXXXXXX 2>/dev/null || echo ${TMPDIR:-/tmp}/svn2log.tmp)
14 > $tmp
15
16 [ -z "$users" -a -f ../CVSROOT/users ] && users=../CVSROOT/users
17 [ -z "$users" -a -f ~/rpm/CVSROOT/users ] && users=~/rpm/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 # bring users file up to date
26 cd $(dirname "$users")
27 cvs up $(basename "$users")
28 cd -
29
30 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
31
32 if grep -q vim:encoding=utf-8 $users; then
33         charset=UTF-8
34 else
35         charset=ISO8859-2
36 fi
37 LC_ALL=C svn log -v --xml | LC_ALL=C $svn2log --users-charset=$charset --domain "pld-linux.org" -p /geninitrd/trunk -u $tmp --exclude ChangeLog -o ChangeLog
38 rm -f $tmp
39
40 # obfuscate emails <user@domain> and (user@domain)
41 sed -i -e 's,\([<(].*\)@\(.*[)>]\),\1/at/\2,g' ChangeLog
This page took 0.035493 seconds and 3 git commands to generate.