summaryrefslogtreecommitdiffstats
path: root/needs-checking/p_diff
blob: 1497b05af923a01ed1464a0d9307299e5592cc96 (plain) (blame)
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
#!/bin/sh

#
# Bring up a patched file in diff.  We show the diffs
# in the topmost patch, unless it was specified
#

. patchfns 2>/dev/null ||
. /usr/lib/patch-scripts/patchfns 2>/dev/null ||
. $PATCHSCRIPTS_LIBDIR/patchfns 2>/dev/null ||
{
	echo "Impossible to find my library 'patchfns'."
	echo "Check your install, or go to the right directory"
	exit 1
}

usage()
{
	echo "Usage: pdiff [patchname] filename"
	echo "       pdiff [patchname] -"
	exit 1
}

if [ $# == 1 ]
then
	PATCH_NAME=$(top_patch)
	FILENAME=$1
elif [ $# == 2 ]
then
	PATCH_NAME=$(stripit $1)
	FILENAME=$2
else
	usage
fi

if ! is_applied $PATCH_NAME
then
	echo $PATCH_NAME is not applied
	exit 1
fi

doit()
{
	filename=$1
	unpatched_file=$filename"~"$PATCH_NAME
	need_file_there $filename
	if [ -e $unpatched_file ]
	then
		diff -u $unpatched_file $filename
	else
		echo pdiff: $filename appears to not be in $PATCH_NAME
	fi
}

if [ x"$FILENAME" = "x-" ]
then
	FILENAME=$(cat $P/pc/$PATCH_NAME.pc)
fi

for i in $FILENAME
do
	doit $i
done