Whamcloud - gitweb
1ad3e0984bab1fbbce94309d56ee5bd143a6e9b0
[fs/lustre-release.git] / lustre / kernel_patches / scripts / p_diff
1 #!/bin/sh
2
3 #
4 # Bring up a patched file in diff.  We show the diffs
5 # in the topmost patch, unless it was specified
6 #
7
8 . patchfns >/dev/null || . /usr/lib/patch-scripts/patchfns >/dev/null || { \
9         echo "Impossible to find my library 'patchfns'."
10         echo "Check your install, or go to the right directory"
11         exit 1
12 }
13
14 usage()
15 {
16         echo "Usage: pdiff [patchname] filename"
17         echo "       pdiff [patchname] -"
18         exit 1
19 }
20
21 if [ $# == 1 ]
22 then
23         PATCH_NAME=$(top_patch)
24         FILENAME=$1
25 elif [ $# == 2 ]
26 then
27         PATCH_NAME=$(stripit $1)
28         FILENAME=$2
29 else
30         usage
31 fi
32
33 if ! is_applied $PATCH_NAME
34 then
35         echo $PATCH_NAME is not applied
36         exit 1
37 fi
38
39 doit()
40 {
41         filename=$1
42         unpatched_file=$filename"~"$PATCH_NAME
43         need_file_there $filename
44         if [ -e $unpatched_file ]
45         then
46                 diff -u $unpatched_file $filename
47         else
48                 echo pdiff: $filename appears to not be in $PATCH_NAME
49         fi
50 }
51
52 if [ x"$FILENAME" = "x-" ]
53 then
54         FILENAME=$(cat $P/pc/$PATCH_NAME.pc)
55 fi
56
57 for i in $FILENAME
58 do
59         doit $i
60 done