From 86722e02bf17a5947543098708b3a026bb099e9c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 13 Apr 2016 22:39:54 -0500 Subject: [PATCH] Z plays with scripts and GPG part 2 --- scripts/applyPatches.sh | 28 ++++++++++++++-------------- scripts/init.sh | 12 ++++++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/scripts/applyPatches.sh b/scripts/applyPatches.sh index 890412a4ff..30165ed591 100755 --- a/scripts/applyPatches.sh +++ b/scripts/applyPatches.sh @@ -4,7 +4,7 @@ PS1="$" basedir="$(cd "$1" && pwd -P)" workdir="$basedir/work" -gpgsign=$(git config commit.gpgsign) +gpgsign="$(git config commit.gpgsign || echo "false")" echo "Rebuilding Forked projects.... " function applyPatch { @@ -22,13 +22,21 @@ function applyPatch { git clone "$what" "$target" fi cd "$basedir/$target" + + # Disable GPG signing before AM, slows things down and doesn't play nicely. + # There is also zero rational or logical reason to do so for these sub-repo AMs. + # Calm down kids, it's re-enabled (if needed) immediately after, pass or fail. + git config commit.gpgsign false + echo "Resetting $target to $what_name..." git remote rm upstream > /dev/null 2>&1 git remote add upstream "$basedir/$what" >/dev/null 2>&1 git checkout master 2>/dev/null || git checkout -b master git fetch upstream >/dev/null 2>&1 git reset --hard upstream/upstream + echo " Applying patches to $target..." + git am --abort >/dev/null 2>&1 git am --3way --ignore-whitespace "$basedir/${what_name}-Patches/"*.patch if [ "$?" != "0" ]; then @@ -43,18 +51,10 @@ function applyPatch { function enableCommitSigningIfNeeded { if [[ "$gpgsign" == "true" ]]; then - git config --global commit.gpgsign true + git config commit.gpgsign true fi } -# Disable GPG signing before AM, slows things down and doesn't play nicely. -# There is also zero rational or logical reason to do so for these sub-repo AMs. -# Calm down kids, it's re-enabled (if needed) immediately after, pass or fail. -if [[ "$gpgsign" == "true" ]]; then - # Yes, this has to be global - git config --global commit.gpgsign false -fi - # Move into spigot dir cd "$workdir/Spigot" basedir=$(pwd) @@ -64,7 +64,7 @@ basedir=$(pwd) applyPatch ../CraftBukkit Spigot-Server patched ) || ( echo "Failed to apply Spigot Patches" - enableCommitSigningIfNeeded + enableCommitSigningIfNeeded exit 1 ) || exit 1 # Move out of Spigot @@ -73,17 +73,17 @@ cd "$basedir" echo "Importing MC Dev" -./scripts/importmcdev.sh "$basedir" +./scripts/importmcdev.sh "$basedir" >/dev/null 2>&1 # Apply paper cd "$basedir" ( applyPatch "work/Spigot/Spigot-API" Paper-API HEAD && applyPatch "work/Spigot/Spigot-Server" Paper-Server HEAD - enableCommitSigningIfNeeded + enableCommitSigningIfNeeded ) || ( echo "Failed to apply Paper Patches" - enableCommitSigningIfNeeded + enableCommitSigningIfNeeded exit 1 ) || exit 1 ) diff --git a/scripts/init.sh b/scripts/init.sh index 51110efb73..79f336f912 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -9,12 +9,20 @@ minecraftversion=$(cat "$workdir/BuildData/info.json" | grep minecraftVersion | decompiledir="$workdir/$minecraftversion" nms="$decompiledir/net/minecraft/server" cb="src/main/java/net/minecraft/server" +gpgsign="$(git config commit.gpgsign || echo "false")" + patch=$(which patch 2>/dev/null) if [ "x$patch" == "x" ]; then patch="$basedir/hctap.exe" fi +function enableCommitSigningIfNeeded { + if [[ "$gpgsign" == "true" ]]; then + git config commit.gpgsign true + fi +} + echo "Applying CraftBukkit patches to NMS..." cd "$workdir/CraftBukkit" git checkout -B patched HEAD >/dev/null 2>&1 @@ -35,6 +43,10 @@ do done git add src >/dev/null 2>&1 +# We don't need to sign an automated commit +# All it does is make you input your key passphrase mid-patch +git config commit.gpgsign false git commit -m "CraftBukkit $ $(date)" >/dev/null 2>&1 +enableCommitSigningIfNeeded git checkout -f HEAD^ >/dev/null 2>&1 )