4 # Copyright (C) 2002 Alex Badea <vampire@p16.pub.ro>
6 # Experimental centralized patch system for ircu
13 for fname in $DIFFS/*.diff ; do
14 name=`basename $fname | sed -e 's/\.diff//'`
19 echo "Available patches (* marks applied patches):"
20 for name in $PLIST ; do
21 [ -f $MARKS/$name ] && echo -n " * " || echo -n " "
28 echo "Testing patches:"
30 [ -z "$list" ] && list=$PLIST
31 for name in $list ; do
32 fname=$DIFFS/$name.diff
34 if [ ! -f $MARKS/$name ] ; then
36 if patch -p0 -N -t --dry-run >/dev/null < $fname ; then
43 if patch -p0 -R -t --dry-run >/dev/null < $fname ; then
56 fname="$DIFFS/$name.diff"
57 if [ ! -f $fname ]; then
58 echo "Patch $name ($fname) does not exist"
61 if [ -f $MARKS/$name ] ; then
62 echo "Patch $name seems already applied"
65 echo "Applying $fname..."
66 if patch -p0 -N -t < $fname ; then
76 fname="$DIFFS/$name.diff"
77 if [ ! -f $fname ]; then
78 echo "Patch $name ($fname) does not exist"
81 if [ ! -f $MARKS/$name ] ; then
82 echo "Patch $name doesn't seem to be applied"
85 echo "Reversing $fname..."
86 if patch -p0 -R -t < $fname ; then
95 echo "Usage: $0 [args]"
96 echo "Arguments may be:"
97 echo " help Prints this help"
98 echo " list List available patches"
99 echo " test [patch list] Tests whether patches can be (un)applied correctly"
100 echo " add <patch list> Applies a patch"
101 echo " del <patch list> Reverses a patch"