X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/d62357172398da1d389406d234dca3ff477083e8..764d110156e4951ca5671a700ee2402fa3597734:/contrib/stg-fold-files-from diff --git a/contrib/stg-fold-files-from b/contrib/stg-fold-files-from index 806a157..c52abfc 100755 --- a/contrib/stg-fold-files-from +++ b/contrib/stg-fold-files-from @@ -8,7 +8,7 @@ set -e # identify hunk numbers easily. # Use "-O -U" to get finer hunk granularity for -#. -# usage: stg-fold-files-from [-O ] [-#[-][,]...] +# usage: stg-fold-files-from [-n] [-O ] [-#[-][,]...] # Copyright (c) 2006-2007 Yann Dirson # Subject to the GNU GPL, version 2. @@ -20,10 +20,12 @@ filtercmd=cat hunks= foldflags= showflags=() +noact=0 while [ "$#" -gt 0 ]; do case "$1" in -\#*) hunks="$1" ;; -t) foldflags="-t" ;; + -n) noact=1 ;; -O) showflags+=(-O "$2"); shift ;; -*) { echo >&2 "unknown flag '$1'"; exit 1; } ;; *) break ;; @@ -32,4 +34,13 @@ while [ "$#" -gt 0 ]; do done [ "$#" = 1 ] || { echo >&2 "supports one file only"; exit 1; } -stg show "${showflags[@]}" "$PATCH" | filterdiff -p1 $hunks -i "$1" | stg fold $foldflags +getpatch() +{ + stg show "${showflags[@]}" "$PATCH" | filterdiff -p1 $hunks -i "$1" +} + +if [ $noact = 1 ]; then + getpatch "$1" +else + getpatch "$1" | stg fold $foldflags +fi