9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-19 14:59:30 +00:00
Files
SakuraMC/scripts/apatch.sh
Samsuik 70571388cf Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@f9edc4b Update paperweight to 1.5.11
PaperMC/Paper@2f92d4e Updated Upstream (Bukkit/CraftBukkit)
PaperMC/Paper@8d8eb3b optimise explosion damage further
PaperMC/Paper@7606e6d fixup tests and add missing API detected by those tests
PaperMC/Paper@f17622c more cleanup and resource pack api fixes
PaperMC/Paper@9051fc3 remove redundant patch
PaperMC/Paper@abfb6b2 more work on adventure codecs
PaperMC/Paper@b42a1da Use uuid param in setResourcePack
PaperMC/Paper@bcbe5dc Fix `PlayerInteractEvent#getClickedBlock()` returning wrong block in adventure mode (#10019)
2023-12-10 13:33:09 +00:00

76 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
gitcmd="git -c commit.gpgsign=false"
noapply=1
isreject=0
if [[ $1 == "--noapplied" ]]; then
noapply=1
shift
fi
if [ ! -z "$1" ]; then
file="$1"
elif [ -z "$1" ] && [ -f .git/rebase-apply/patch ]; then
file=".git/rebase-apply/patch"
noapply=1
isreject=1
else
echo "Please specify a file"
exit 1
fi
applied=$(echo $file | sed 's/.patch$/-applied\.patch/g')
if [ "$1" == "--reset" ]; then
$gitcmd am --abort
$gitcmd reset --hard
$gitcmd clean -f
exit 0
fi
(test "$isreject" != "1" && $gitcmd am -3 $file) || (
echo "Failures - Wiggling"
$gitcmd reset --hard
$gitcmd clean -f
errors=$($gitcmd apply --rej $file 2>&1)
echo "$errors" >> ~/patch.log
export missingfiles=""
export summaryfail=""
export summarygood=""
for i in $(find . -name \*.rej); do
base=$(echo "$i" | sed 's/.rej//g')
if [ -f "$i" ]; then
sed -e 's/^diff a\/\(.*\) b\/\(.*\)[[:space:]].*rejected.*$/--- \1\n+++ \2/' -i $i && wiggle -v -l --replace "$base" "$i"
rm "$base.porig" "$i"
else
echo "No such file: $base"
missingfiles="$missingfiles\n$base"
fi
done
for i in $($gitcmd status --porcelain | awk '{print $2}'); do
filedata=$(cat "$i")
if [ -f "$file" ] && [[ "$filedata" == *"<<<<<"* ]]; then
export summaryfail="$summaryfail\nFAILED TO APPLY: $i"
else
$gitcmd add --force "$i"
export summarygood="$summarygood\nAPPLIED CLEAN: $i"
fi
done
echo -e "$summarygood"
echo -e "$summaryfail"
if [[ "$errors" == *"No such file"* ]]; then
echo "===========================";
echo " "
echo " MISSING FILES"
echo $(echo "$errors" | grep "No such file")
echo -e "$missingfiles"
echo " "
echo "===========================";
fi
$gitcmd status
$gitcmd diff
)
if [[ "$noapply" != "1" ]] && [[ "$file" != *-applied.patch ]]; then
mv "$file" "$applied"
fi