summaryrefslogtreecommitdiff
path: root/netware/BUILD/create-patch
blob: 711eabf2d899975f2f0b6064026e58e2f426e9f4 (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
#! /bin/sh

# debug
#set -x

# stop on errors
set -e

# repository direcotry
repo_dir=`pwd`

# show usage
show_usage()
{
	cat << EOF

usage: create-patch

Creates a patch file between the latest revision of the current tree
and the latest revision not create by \$BK_USER.

EOF
	exit 0;
}

if test $1 || test -z $BK_USER
then
	show_usage
fi

echo "starting patch..."

echo "user: $BK_USER"

# check for bk and repo_dir
bk help > /dev/null
repo_dir=`bk root $repo_dir`
cd $repo_dir

# determine version
version=`grep -e "AM_INIT_AUTOMAKE(mysql, .*)" < configure.in | sed -e "s/AM_INIT_AUTOMAKE(mysql, \(.*\))/\1/"`
echo "version: $version"

# user revision
user_rev=`bk changes -e -n -d':REV:' | head -1`
echo "latest revision: $user_rev"
 
# tree revision
tree_rev=`bk changes -e -n -d':REV:' -U$BK_USER | head -1`
echo "latest non-$BK_USER revision: $tree_rev"

# create patch
patch="$repo_dir/../$BK_USER-$version.patch"
echo "creating \"$patch\"..."
bk export -tpatch -r$tree_rev..$user_rev > $patch