summaryrefslogtreecommitdiffstats
path: root/pushpatch.in
diff options
context:
space:
mode:
authorMartin Quinson <mquinson@debian.org>2003-01-29 09:19:25 +0000
committerMartin Quinson <mquinson@debian.org>2003-01-29 09:19:25 +0000
commit9df01863feac767ebe01e99cfc597632416ca27a (patch)
tree27b023026b54e2db2a784ce86b7b075868eaf960 /pushpatch.in
parent55181ac1bcf951cc22cba26dfbca813fba2b0167 (diff)
downloadquilt-9df01863feac767ebe01e99cfc597632416ca27a.tar.gz
Version 0.21 from Andreas Gruenbacher
Diffstat (limited to 'pushpatch.in')
-rwxr-xr-xpushpatch.in169
1 files changed, 0 insertions, 169 deletions
diff --git a/pushpatch.in b/pushpatch.in
deleted file mode 100755
index d8fcab9..0000000
--- a/pushpatch.in
+++ /dev/null
@@ -1,169 +0,0 @@
-#! /bin/bash
-
-# This script is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# See the COPYING and AUTHORS files for more details.
-
-# Read in library functions
-if ! [ -r @LIB@/patchfns ]
-then
- echo "Cannot read library @LIB@/patchfns" >&2
- exit 1
-fi
-. @LIB@/patchfns
-
-usage()
-{
- echo "Usage: pushpatch [-afq] [npatches|patchname]"
- if [ x$1 = x-h ]
- then
- cat <<EOF
-
-Apply patch(es) from the series file. A number of patches
-to apply, or a patch name can be specified. If a patch
-name is given, apply all patches up to and including the
-named patch. If neither a number nor a patch name is
-specified, apply the next patch.
-
--a Apply all patches in the series file.
-
--f Force apply, even if the patch has rejects.
-
--q Quiet operation.
-
-EOF
- exit 0
- else
- exit 1
- fi
-}
-
-list_patches()
-{
- local top=$(top_patch) n=0 patch
- if [ -n "$top" ]
- then
- patches_after $top
- else
- cat_series
- fi \
- | if [ -n "$opt_all" ]
- then
- cat
- else
- while read patch
- do
- if [ -n "$number" ]
- then
- if [ $n -eq $number ]
- then
- break
- fi
- n=$[$n+1]
- fi
- echo $patch
- if [ $patch = "$stop_at_patch" ]
- then
- break
- fi
- done
- if [ -n "$stop_at_patch" -a "$patch" != "$stop_at_patch" ]
- then
- echo "Patch $stop_at_patch not found in file series" >&2
- return 1
- fi
- fi
-}
-
-options=`getopt -o fqah -- "$@"`
-
-if [ $? -ne 0 ]
-then
- usage
-fi
-
-eval set -- "$options"
-
-while true
-do
- case "$1" in
- -f)
- opt_force=1
- shift ;;
- -q)
- opt_quiet=1
- shift ;;
- -a)
- opt_all=1
- shift ;;
- -h)
- usage -h ;;
- --)
- shift
- break ;;
- esac
-done
-
-if [ $# -gt 1 ]
-then
- usage
-fi
-
-if [ $# -eq 1 ]
-then
- if is_numeric $1
- then
- number=$1
- else
- stop_at_patch=$(stripit $1)
- fi
-else
- [ -z "$opt_all" ] && number=1
-fi
-
-[ -n "$opt_force" ] &&
- apatch_options="$apatch_options -f"
-[ -n "$opt_quiet" ] &&
- apatch_options="$apatch_options -q"
-
-if [ -n "$stop_at_patch" ]
-then
- if is_applied $stop_at_patch
- then
- echo "Patch $stop_at_patch is already applied."
- exit 1
- fi
-fi
-
-if ! patches=$(list_patches) 2>&1
-then
- exit 1
-elif [ -z "$patches" ]
-then
- top=$(top_patch)
- if [ -z "$top" ]
- then
- echo "No patches applied"
- else
- echo "File series fully applied, ends at patch $top"
- fi
- exit 0
-fi
-
-trap "interrupted=1" SIGINT
-
-for patch in $patches
-do
- if ! @LIB@/apatch $apatch_options $patch
- then
- exit 1
- fi
- if [ -n "$interrupted" ]
- then
- echo "pushpatch interrupted by user"
- exit 1
- fi
- [ -z "$opt_quiet" ] && echo
-done