summaryrefslogtreecommitdiffstats
path: root/newpatch.in
diff options
context:
space:
mode:
authorMartin Quinson <mquinson@debian.org>2003-01-21 09:49:29 +0000
committerMartin Quinson <mquinson@debian.org>2003-01-21 09:49:29 +0000
commit02dc4a5f8c1979e9a23f7b6851f693d29b640c4d (patch)
tree2f397f5df89f4529b89fd0e7a021238d0f290007 /newpatch.in
parent4d11e99bfc25e0261111d202a3a2afdf97daea5c (diff)
downloadquilt-02dc4a5f8c1979e9a23f7b6851f693d29b640c4d.tar.gz
Version 0.11, from Andreas Gruenbacher
Diffstat (limited to 'newpatch.in')
-rwxr-xr-xnewpatch.in73
1 files changed, 73 insertions, 0 deletions
diff --git a/newpatch.in b/newpatch.in
new file mode 100755
index 0000000..5d14d95
--- /dev/null
+++ b/newpatch.in
@@ -0,0 +1,73 @@
+#!/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: newpatch patchname"
+ if [ x$1 = x-h ]
+ then
+ cat <<EOF
+
+ Create a new patch, and insert it after the topmost patch
+ in the patch series file.
+
+EOF
+ exit 0
+ else
+ exit 1
+ fi
+}
+
+options=`getopt -o h -- "$@"`
+
+if [ $? -ne 0 ]
+then
+ usage
+fi
+
+eval set -- "$options"
+
+while true
+do
+ case "$1" in
+ -h)
+ usage -h ;;
+ --)
+ shift
+ break ;;
+ esac
+done
+
+if [ $# -ne 1 ]
+then
+ usage
+fi
+
+patch_file=$(echo $1 | sed -e 's:^'"$P"'patches/::' -e 's:^\.pc/::')
+patch=$(stripit $patch_file)
+if [ -z "$patch" ]
+then
+ usage
+fi
+
+if patch_in_series $patch
+then
+ echo "Patch $patch exists already"
+ exit 1
+fi
+
+pc_file=$(pc_file_name $patch)
+mkdir -p $(dirname $pc_file)
+touch $pc_file
+
+insert_in_series $patch_file || exit 1
+add_to_db $patch || exit 1
+
+echo "Patch $patch is now on top"