From: Michael Tremer Date: Sun, 8 Jan 2012 14:16:20 +0000 (+0100) Subject: patch: Add support for reverting patches. X-Git-Tag: 0.9.20~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e652a763360eacb922b66efd5a1813416851c6e;p=pakfire.git patch: Add support for reverting patches. --- diff --git a/tools/patch b/tools/patch index 927b8803a..4d4c2ae57 100755 --- a/tools/patch +++ b/tools/patch @@ -46,10 +46,24 @@ for patch in ${patches}; do # Get right -p1 option. case "${patch}" in - *.patch[0-9]) + *.patch[0-9]|*.patch[0-9]R) + _patch="${patch}" # Get patch level from file name. - level=${patch:$(( ${#patch} - 1))} - options="${options} -p${level}" + while [ ${#_patch} -gt 0 ]; do + last_pos=$(( ${#_patch} - 1 )) + last_char=${_patch:${last_pos}} + _patch=${_patch:0:${last_pos}} + + case "${last_char}" in + [0-9]) + options="${options} -p${last_char}" + break + ;; + R) + options="${options} -R" + ;; + esac + done ;; *.patch|*.diff) # Default is -p1.