guilt: abort if working with a detached head
[guilt.git] / guilt-delete
blob054ae26b111b3629d823ec9a677a1f3b676e86f4
1 #!/bin/sh
3 # Copyright (c) Josef "Jeff" Sipek, 2006, 2007
6 USAGE="[-f] <patchname>"
7 . `dirname $0`/guilt
9 case $# in
11 # just patchname
12 force=
15 # -f patchname
16 if [ "$1" != "-f" ]; then
17 usage
20 force=t
21 shift
24 usage
26 esac
28 patch="$1"
30 if [ -z "$patch" ]; then
31 die "You must specify a patch to delete"
34 if [ ! -f "$GUILT_DIR/$branch/$patch" ]; then
35 die "Patch $patch does not exist."
38 p=`grep -e "^$patch$" < "$applied"`
39 if [ ! -z "$p" ] ; then
40 die "Cannot delete an applied patch"
43 series_remove_patch "$patch"
45 guilt_hook "delete" "$patch"
47 [ ! -z "$force" ] && rm -f $GUILT_DIR/$branch/$patch
49 exit 0