mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-26 04:25:26 +01:00
Improve upstream merge script to rebuild patches
this will help ensure that upstreams apply as cleanly as it does manually the filtering makes the patches more fragile, but usually not an issue for small updates. this will unfilter, apply the cleanest patches, then the next rebuild will filter out unnecessary changes
This commit is contained in:
parent
747e70a90d
commit
96f8b1af6c
@ -8,7 +8,10 @@ source "$basedir/scripts/functions.sh"
|
|||||||
gitcmd="git -c commit.gpgsign=false -c core.safecrlf=false"
|
gitcmd="git -c commit.gpgsign=false -c core.safecrlf=false"
|
||||||
|
|
||||||
echo "Rebuilding patch files from current fork state..."
|
echo "Rebuilding patch files from current fork state..."
|
||||||
|
nofilter="0"
|
||||||
|
if [ "$2" = "nofilter" ]; then
|
||||||
|
nofilter="1"
|
||||||
|
fi
|
||||||
function cleanupPatches {
|
function cleanupPatches {
|
||||||
cd "$1"
|
cd "$1"
|
||||||
for patch in *.patch; do
|
for patch in *.patch; do
|
||||||
@ -56,7 +59,9 @@ function savePatches {
|
|||||||
$gitcmd format-patch --no-stat -N -o "$basedir/${what_name}-Patches/" upstream/upstream >/dev/null
|
$gitcmd format-patch --no-stat -N -o "$basedir/${what_name}-Patches/" upstream/upstream >/dev/null
|
||||||
cd "$basedir"
|
cd "$basedir"
|
||||||
$gitcmd add -A "$basedir/${what_name}-Patches"
|
$gitcmd add -A "$basedir/${what_name}-Patches"
|
||||||
|
if [ "$nofilter" == "0" ]; then
|
||||||
cleanupPatches "$basedir/${what_name}-Patches"
|
cleanupPatches "$basedir/${what_name}-Patches"
|
||||||
|
fi
|
||||||
echo " Patches saved for $what to $what_name-Patches/"
|
echo " Patches saved for $what to $what_name-Patches/"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,11 +7,21 @@ basedir="$(cd "$1" && pwd -P)"
|
|||||||
workdir="$basedir/work"
|
workdir="$basedir/work"
|
||||||
gitcmd="git -c commit.gpgsign=false"
|
gitcmd="git -c commit.gpgsign=false"
|
||||||
|
|
||||||
|
updated="0"
|
||||||
|
function getRef {
|
||||||
|
git ls-tree $1 $2 | cut -d' ' -f3 | cut -f1
|
||||||
|
}
|
||||||
function update {
|
function update {
|
||||||
cd "$workdir/$1"
|
cd "$workdir/$1"
|
||||||
$gitcmd fetch && $gitcmd clean -fd && $gitcmd reset --hard origin/master
|
$gitcmd fetch && $gitcmd clean -fd && $gitcmd reset --hard origin/master
|
||||||
|
refRemote=$(git rev-parse HEAD)
|
||||||
cd ../
|
cd ../
|
||||||
$gitcmd add $1
|
$gitcmd add $1
|
||||||
|
refHEAD=$(getRef HEAD "$workdir/$1")
|
||||||
|
echo "$1 $refHEAD - $refRemote"
|
||||||
|
if [ "$refHEAD" != "$refRemote" ]; then
|
||||||
|
export updated="1"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update Bukkit
|
update Bukkit
|
||||||
@ -22,4 +32,9 @@ if [[ "$2" = "all" || "$2" = "a" ]] ; then
|
|||||||
update BuildData
|
update BuildData
|
||||||
update Paperclip
|
update Paperclip
|
||||||
fi
|
fi
|
||||||
|
if [ "$updated" == "1" ]; then
|
||||||
|
echo "Rebuilding patches without filtering to improve apply ability"
|
||||||
|
cd "$basedir"
|
||||||
|
scripts/rebuildPatches.sh "$basedir" nofilter 1>/dev/null|| exit 1
|
||||||
|
fi
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user