blob: b12890574bf2a80f9db7ce40b77dff0fc7781e4e (
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#!/bin/sh
#
# CIA bot client script for BitKeeper repositories, delivering via email
# -- Chris Larson <kergoth@handhelds.org>
#
# Based on ciabot_svn.sh by Micah Dowty <micah@picogui.org>
#
# See http://cia.navi.cx
# for more information on what the CIA bot is and how it works.
#
############# There are some parameters for this script that you can customize:
# Project information
[ -z "$project_name" ] && project_name="openembedded"
[ -z "$return_address" ] && return_address="oe@handhelds.org"
# System
sendmail_command="/usr/sbin/sendmail -t"
############# Below this line you shouldn't have to change anything
# Script arguments
REV="$1"
# The email address CIA lives at
cia_address="cia@navi.cx"
author=`bk changes -r"$REV" -d":P:" | sed 's/\&/\&/g;s/</\</g;s/>/\>/g'`
module=`basename $BKD_ROOT | sed 's/\&/\&/g;s/</\</g;s/>/\>/g'`
tag=`bk changes -r"$REV" -d":TAG:" | sed 's/\&/\&/g;s/</\</g;s/>/\>/g'`
for file in `bk changes -n -v -r"$REV" -d"\\\$unless(:GFILE:=ChangeSet){:GFILE:}" | sort -u | sed 's/\&/\&/g;s/</\</g;s/>/\>/g'`; do
files="$files<file>$file</file>"
done
# Send an email with the final XML message
(cat <<EOF
From: $return_address
To: $cia_address
Content-type: text/xml
Subject: DeliverXML
<message>
<generator>
<name>BitKeeper CIA Bot client shell script</name>
<version>1.1</version>
</generator>
<source>
<project>$project_name</project>
<module>$module</module>
<branch>$tag</branch>
</source>
<body>
<commit>
<revision>$REV</revision>
<author>$author</author>
<files>$files</files>
EOF
echo " <log>"
bk changes -r"$REV" -d'$if(:C:){$each(:C:){:C: \\n}}' | sed -e 's/\&/\&\;/g;s/</\<\;/g;s/>/\>\;/g;'
echo " </log>"
cat <<EOF
</commit>
</body>
</message>
EOF
) | $sendmail_command
|