From: Neil Brown Date: Sun, 21 May 2006 23:17:06 +0000 (+1000) Subject: Add recommit option to 'p' X-Git-Tag: v0.7~50 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=991a0ca95cf9dc0c173942e9c0bfb193ad63ce53;p=wiggle.git Add recommit option to 'p' --- diff --git a/p b/p index 755e0a2..2500b66 100755 --- a/p +++ b/p @@ -596,6 +596,33 @@ case $cmd in openall ) while p open last && p discard ; do : ; done ;; + recommit ) + make_diff + get_meta + if [ -s .patches/patch ] + then + echo >&2 Patch $name already open - please commit ; exit 1; + fi + if [ $# -eq 0 ] + then + echo "Unapplied patches are:" + ls .patches/removed + exit 0 + fi + if [ $# -ne 1 ] + then echo >&2 "Usage: p recommit patchname"; exit 1 + fi + case $1 in + last ) pfile=`ls -d .patches/removed/[0-9]* | tail -1` ; echo last is "$pfile";; + */* ) pfile=$1 ;; + * ) pfile=`echo .patches/removed/*$1*` + esac + if [ ! -f "$pfile" ] + then echo >&2 "Cannot find unique patch '$1' - found: $pfile"; exit 1 + fi + while [ -s "$pfile" ] && + p apply last && p commit ; do : ; done + ;; snapshot ) all_files snap_one ;; diff --git a/p.help b/p.help index fc22772..4c16328 100644 --- a/p.help +++ b/p.help @@ -248,6 +248,14 @@ openall discarded. This is part of the preparation for incorporating upstream changes. +recommit + Usage: p recommit patchname + + This command will re-apply and re-commit removed patches + that successfully apply until the names patch has been applied. + Patches are applied in reverse order, which is consistant with + the order in which they were removed. + snapshot Usage: p snapshot