diff options
Diffstat (limited to 'bin/savepatch')
-rwxr-xr-x | bin/savepatch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bin/savepatch b/bin/savepatch new file mode 100755 index 0000000..f4c2bd6 --- /dev/null +++ b/bin/savepatch @@ -0,0 +1,36 @@ +#!/bin/sh + +# savepatch -- save patch on standard in to ~/patches + +root=/home/john/patches + +if [ -z "$1" ]; then + echo "usage: ${0##*/} patch-name" 1>&2 + exit 1 +fi + +case "$PWD" in +/usr/pkgsrc/*) dir=$(pwd | cut -d/ -f4,5) || dir= ;; +/usr/*src/*) dir=${PWD#/usr/} ;; +*) dir= +esac + +if [ -z "$dir" ]; then + echo "${0##*/}: could not determine package" 1>&2 + printf "package: " 1>&2 + read dir </dev/tty +fi + +mkdir -p "$root/$dir" + +if [ -e "$root/$dir/$1" ]; then + printf "%s: %s already exists; overwrite? " "${0##*/}" "$dir/$1" 1>&2 + read ans </dev/tty + case $ans in + y*) ;; + *) exit 1 ;; + esac +fi + +cat > "$root/$dir/$1" +echo "$root/$dir/$1" |