geforkt von Mirrors/Paper
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
Dieser Commit ist enthalten in:
Ursprung
37e98e4d94
Commit
3c57e007e9
@ -8,7 +8,10 @@ source "$basedir/scripts/functions.sh"
|
||||
gitcmd="git -c commit.gpgsign=false -c core.safecrlf=false"
|
||||
|
||||
echo "Rebuilding patch files from current fork state..."
|
||||
|
||||
nofilter="0"
|
||||
if [ "$2" = "nofilter" ]; then
|
||||
nofilter="1"
|
||||
fi
|
||||
function cleanupPatches {
|
||||
cd "$1"
|
||||
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
|
||||
cd "$basedir"
|
||||
$gitcmd add -A "$basedir/${what_name}-Patches"
|
||||
cleanupPatches "$basedir/${what_name}-Patches"
|
||||
if [ "$nofilter" == "0" ]; then
|
||||
cleanupPatches "$basedir/${what_name}-Patches"
|
||||
fi
|
||||
echo " Patches saved for $what to $what_name-Patches/"
|
||||
}
|
||||
|
||||
|
@ -7,11 +7,21 @@ basedir="$(cd "$1" && pwd -P)"
|
||||
workdir="$basedir/work"
|
||||
gitcmd="git -c commit.gpgsign=false"
|
||||
|
||||
updated="0"
|
||||
function getRef {
|
||||
git ls-tree $1 $2 | cut -d' ' -f3 | cut -f1
|
||||
}
|
||||
function update {
|
||||
cd "$workdir/$1"
|
||||
$gitcmd fetch && $gitcmd clean -fd && $gitcmd reset --hard origin/master
|
||||
refRemote=$(git rev-parse HEAD)
|
||||
cd ../
|
||||
$gitcmd add $1
|
||||
refHEAD=$(getRef HEAD "$workdir/$1")
|
||||
echo "$1 $refHEAD - $refRemote"
|
||||
if [ "$refHEAD" != "$refRemote" ]; then
|
||||
export updated="1"
|
||||
fi
|
||||
}
|
||||
|
||||
update Bukkit
|
||||
@ -22,4 +32,9 @@ if [[ "$2" = "all" || "$2" = "a" ]] ; then
|
||||
update BuildData
|
||||
update Paperclip
|
||||
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
|
||||
)
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren