]> git.pld-linux.org Git - projects/rc-scripts.git/blame - changelog.sh
rc.sysinit: move /proc/cmdline parsing to single function
[projects/rc-scripts.git] / changelog.sh
CommitLineData
890a210e 1#!/bin/sh
22835800 2# $Id$
e327b68b 3# Run this to generate ChangeLog.
890a210e
ER
4
5if [ ! -x /usr/bin/svn2log ]; then
6 echo >&2 'Need svn2log program!'
7 exit 1
8fi
9
2165e21a
JK
10# make sure '.' entry is up to date, or the log will be outdated too
11svn up . >/dev/null
12
890a210e
ER
13# create users for svn2log format
14tmp=$(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
19if [ -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
24fi
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
32awk -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
34branch=$(svn info | awk '/URL:/{print $NF}' | sed -e 's,^.*svn.pld-linux.org/svn,,')
35
d2480102
ER
36if grep -q vim:encoding=utf-8 $users; then
37 charset=UTF-8
38else
39 charset=ISO8859-2
40fi
639b1d23 41LC_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
42rm -f $tmp
43
44# obfuscate emails <user@domain> and (user@domain)
45sed -i -e 's,\([<(].*\)@\(.*[)>]\),\1/at/\2,g' ChangeLog
This page took 0.099357 seconds and 4 git commands to generate.