diff --git a/applyPatches.sh b/applyPatches.sh index 589a0cc..21a0eb6 100755 --- a/applyPatches.sh +++ b/applyPatches.sh @@ -10,23 +10,21 @@ function applyPatch { branch=$3 cd "$basedir/$what" git fetch - git reset --hard "$branch" - git branch -f upstream >/dev/null + git branch -f upstream "$branch" >/dev/null cd "$basedir" if [ ! -d "$basedir/$target" ]; then - git clone $1 $target -b upstream + git clone "$what" "$target" fi cd "$basedir/$target" echo "Resetting $target to $what..." - git remote rm upstream 2>/dev/null 2>&1 - git remote add upstream ../$what >/dev/null 2>&1 + git remote add -f upstream ../$what >/dev/null 2>&1 git checkout master >/dev/null 2>&1 git fetch upstream >/dev/null 2>&1 git reset --hard upstream/upstream echo " Applying patches to $target..." - git am --abort - git am --3way "$basedir/${what}-Patches/"*.patch + git am --abort >/dev/null 2>&1 + git am --3way --ignore-whitespace "$basedir/${what}-Patches/"*.patch if [ "$?" != "0" ]; then echo " Something did not apply cleanly to $target." echo " Please review above details and finish the apply then" @@ -37,14 +35,5 @@ function applyPatch { fi } -echo -echo "Applying SpigotMC patches to CraftBukkit and Bukkit" -echo -cd ../Bukkit -hash=$(git rev-parse HEAD) -git branch -f spigot "$hash" -applyPatch Bukkit Spigot-API origin/spigot && applyPatch CraftBukkit Spigot-Server origin/patched -echo -echo "Applying PaperSpigot patches to Spigot-Server and Spigot-API" -echo -applyPatch Spigot-API PaperSpigot-API && applyPatch Spigot-Server PaperSpigot-Server +applyPatch Bukkit Spigot-API HEAD && applyPatch CraftBukkit Spigot-Server patched +applyPatch Spigot-API PaperSpigot-API HEAD && applyPatch Spigot-Server PaperSpigot-Server HEAD \ No newline at end of file diff --git a/rebuildPatches.sh b/rebuildPatches.sh index 268aef0..e5743cd 100755 --- a/rebuildPatches.sh +++ b/rebuildPatches.sh @@ -3,23 +3,19 @@ PS1="$" basedir=`pwd` echo "Rebuilding patch files from current fork state..." +git config core.safecrlf false function cleanupPatches { cd "$1" for patch in *.patch; do + echo "$patch" gitver=$(tail -n 2 $patch | grep -ve "^$" | tail -n 1) - diffs=$(git diff --staged $patch | grep -E "^(\+|\-)" | grep -Ev "(From [a-z0-9]{32,}|\-\-\- a|\+\+\+ b|.index)") + diffs=$(git diff --staged $patch | grep -E "^(\+|\-)" | grep -Ev "(From [a-z0-9]{32,}|\-\-\- a|\+\+\+ b|Date\: |.index)") testver=$(echo "$diffs" | tail -n 2 | grep -ve "^$" | tail -n 1 | grep "$gitver") if [ "x$testver" != "x" ]; then - mingw=$(uname -s | grep "MINGW") - if [ "x$mingw" != "x" ]; then - diffs=$(echo "$diffs" | head -n $(($(echo "$diffs" | wc -l | sed -r 's/^ +//' | cut -d ' ' -f 1) - 2))) - else - diffs=$(echo "$diffs" | head -n -2) - fi + diffs=$(echo "$diffs" | sed 'N;$!P;$!D;$d') fi - if [ "x$diffs" == "x" ] ; then git reset HEAD $patch >/dev/null @@ -31,15 +27,16 @@ function cleanupPatches { function savePatches { what=$1 target=$2 + echo "Formatting patches for $what..." cd "$basedir/$target" - git format-patch --no-stat -N -o "$basedir/${what}-Patches/" upstream/upstream + git format-patch --no-stat -N -o "$basedir/${what}-Patches/" upstream/upstream >/dev/null cd "$basedir" - git add "$basedir/${what}-Patches" + git add -A "$basedir/${what}-Patches" cleanupPatches "$basedir/${what}-Patches" echo " Patches saved for $what to $what-Patches/" } - -#savePatches Bukkit Spigot-API -#savePatches CraftBukkit Spigot-Server +if [ "$1" == "clean" ]; then + rm -rf Spigot-*-Patches +fi savePatches Spigot-API PaperSpigot-API -savePatches Spigot-Server PaperSpigot-Server +savePatches Spigot-Server PaperSpigot-Server \ No newline at end of file