diff --git a/rebuildPatches.sh b/rebuildPatches.sh index 354c289..1d90529 100755 --- a/rebuildPatches.sh +++ b/rebuildPatches.sh @@ -2,14 +2,24 @@ basedir=$(dirname $(readlink -f $0)) echo "Rebuilding patch files from current fork state..." - +function cleanupPatches { + cd $1 + for patch in *.patch; do + lines=$(git diff --staged $patch | grep -E "^(\+|\-)" | grep -Ev "(From [a-z0-9]{32,}|--- a|+++ b)" | wc -l) + if [ "$lines" == "0" ] ; then + git reset HEAD $patch >/dev/null + git checkout -- $patch >/dev/null + fi + done +} function savePatches { what=$1 target=$2 cd $basedir/$target/ - git format-patch -o $basedir/${what}-Patches/ upstream/master + git format-patch -N -o $basedir/${what}-Patches/ upstream/master cd $basedir git add $basedir/${what}-Patches + cleanupPatches $basedir/${what}-Patches echo " Patches saved for $what to $what-Patches/" }