blob: 0d2201d1b07d2c48d7ced723352df021db781d7b (
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/sh
# Read in library functions
if ! [ -r @LIB@/patchfns ]
then
echo "Cannot read library @LIB@/patchfns" >&2
exit 1
fi
. @LIB@/patchfns
usage()
{
echo "Usage: toppatch [-bpnfa] [patchname]"
if [ x$1 = x-h ]
then
cat <<EOF
Print the name of the topmost patch on the current stack
of applied patches, or the names of one or more patches
relative to this patch.
-b Print the names of all patches before the
topmost or specified patch.
-p Print the name of the previous patch in the
series.
-n Print the name of the next patch in the series.
-f Print the names of all patches following the
topmost or specified patch.
-a Print the names of all patches in the file series.
EOF
exit 0
else
exit 1
fi
}
options=`getopt -o bpnfah -- "$@"`
if [ $? -ne 0 ]
then
usage
fi
eval set -- "$options"
opt_what=here
while true
do
case "$1" in
-b)
opt_what=before
shift ;;
-p)
opt_what=previous
shift ;;
-n)
opt_what=next
shift ;;
-f)
opt_what=follow
shift ;;
-a)
opt_what=all
shift ;;
-h)
usage -h ;;
--)
shift
break ;;
esac
done
if [ $# -gt 1 ]
then
usage
elif [ $# -eq 1 ]
then
opt_patch=$1
fi
if [ -n "$opt_patch" ]
then
patch=$(stripit $opt_patch)
else
patch=$(top_patch)
fi
case $opt_what in
before)
if [ -n "$patch" ]
then
patches_before $patch
fi
;;
previous)
if [ -n "$patch" ]
then
patches_before $patch | tail -1
fi
;;
here)
if [ -n "$patch" ]
then
echo $patch
fi
;;
next)
if [ -z "$patch" ]
then
cat_series | head -1
else
patches_after $patch | head -1
fi
;;
follow)
if [ -z "$patch" ]
then
cat_series
else
patches_after $patch
fi
;;
all)
cat_series
;;
esac
|