docs: Commands should be on a separate line
[guilt.git] / guilt-new
blobe28921dcd1bd7e8ffb717c08723d89e94b147f25
1 #!/bin/bash
3 # Copyright (c) Josef "Jeff" Sipek, 2006, 2007
6 USAGE="[-s] [-e|-m message] <patchname>"
7 . guilt
9 if [ $# -lt 1 -o $# -gt 4 ]; then
10 usage
13 while [ $# -gt 0 ] ; do
14 case "$1" in
15 -s)
16 signoff=t
18 -e)
19 edit=t
21 if [ ! -z "$msg" ]; then
22 usage
25 -m)
26 msg="$2"
27 shift
29 if [ ! -z "$edit" ]; then
30 usage
34 if [ ! -z "$patch" ]; then
35 usage
37 patch="$1"
39 esac
40 shift
41 done
43 if [ -z "$patch" ]; then
44 die "You must specify a patch name"
47 if [ -f "$GUILT_DIR/$branch/$patch" ]; then
48 die "patch '$patch' already exist"
51 iidx=`wc -l < $applied`
53 # make sure that there are no unapplied changes
54 if ! must_commit_first; then
55 die "Uncommited changes detected. Refresh first."
58 # create any directories as needed
59 [ "`dirname $patch`" != "." ] && mkdir -p `dirname $GUILT_DIR/$branch/$patch`
61 # create the file with the right contents
63 # did we get a message with -m ?
64 [ ! -z "$msg" ] && echo "$msg"
66 # add a sign-off-by (-s)
67 [ "$signoff" = "t" ] && echo -e "\nSigned-off-by: `git-var GIT_COMMITTER_IDENT | sed -e 's/>.*/>/'`"
68 ) >> $GUILT_DIR/$branch/$patch
70 # edit -e ?
71 [ "$edit" = "t" ] && $editor $GUILT_DIR/$branch/$patch
73 # insert the patch name into the series file
74 series_insert_patch $patch
76 # apply the patch
77 push_patch $patch