From e67c4cfb5fac5b75fcde34d379cad09bf28813aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Wed, 9 Jun 2021 22:52:03 +0200 Subject: conv: Add -i flag (interactive mode) --- conv | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 8 deletions(-) (limited to 'conv') diff --git a/conv b/conv index 7d5a508..ded047a 100755 --- a/conv +++ b/conv @@ -5,13 +5,28 @@ IFS=' ' -echo '$NetBSD' -echo -sed ' - /^diff/d; - /^index/d; - s/^--- .*/&/; -' | +{ + echo '$NetBSD' + echo + + # get patch description + if [ x"$1" = x"-i" ]; then + f=`mktemp` + echo 'Edit patch description...' > $f + /dev/tty vi $f + c=`cat $f` + if [ x"$c" != x"Edit patch description..." ]; then + printf '%s\n\n' "$c" + fi + rm $f + fi + + sed ' + /^diff/d; + /^index/d; + s/^--- .*/&/; + ' +} | while read line; do case "$line" in diff*) ;; @@ -25,4 +40,37 @@ while read line; do *) echo "$line" ;; esac -done +done | { +if [ x"$1" = x"-i" ]; then + # read patch before proceeding + patch=`cat` + + # get patch directory + dir=$2 + if [ -z "$2" ]; then + echo -n 'Package name: ' >/dev/tty + read dir /dev/tty + read name &2 + exit 1 + else + printf '%s\n' "$patch" > $dir/$name + echo $dir/name 1>&2 + fi +else + cat +fi +} -- cgit v1.2.3