summaryrefslogblamecommitdiffstats
path: root/needs-checking/p_diff
blob: 843e4cc7146b0ffd8d643046c4cf6eb88bec41b4 (plain) (tree)
1
2
3
4
5
6
7






                                                                      





























































                                                                      
#! /bin/bash

#  This script is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License version 2 as
#  published by the Free Software Foundation.
#
#  See the COPYING and AUTHORS files for more details.

#
# 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