diff --git a/apps/plugins/puzzles/genhelp.sh b/apps/plugins/puzzles/genhelp.sh index 9aa304c0c1..3df7706b5d 100755 --- a/apps/plugins/puzzles/genhelp.sh +++ b/apps/plugins/puzzles/genhelp.sh @@ -1,10 +1,10 @@ #!/bin/bash # usage: ./genhelp.sh # -# expects halibut to be installed in $PATH: -# http://www.chiark.greenend.org.uk/~sgtatham/halibut +# Expects halibut to be installed in $PATH: +# https://www.fwei.tk/git/halibut # -# also requires host CC and lz4 library to be available +# Also requires host CC and lz4 library to be available halibut --text src/puzzles.but diff --git a/apps/plugins/puzzles/resync.sh b/apps/plugins/puzzles/resync.sh new file mode 100755 index 0000000000..76679971a4 --- /dev/null +++ b/apps/plugins/puzzles/resync.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Usage: resync.sh PUZZLES_PATH +# +# Automatic resync tool. Removes the current source snapshot in src/ +# and copies just the source files we need from the puzzles source +# tree. Handles help generation as well. Stages changes in git. +# +# Expects a modified Halibut (https://www.fwei.tk/git/halibut) to be +# installed in $PATH. Also requires host CC and lz4 library to be +# available + + +if [ $# -ne 1 ] +then + echo -e "Usage: $0 PUZZLES_PATH\n" + echo "Automatically resync with upstream." + echo "PUZZLES_PATH is the path to a puzzles source tree." + exit +fi + +echo "=== POTENTIALLY DANGEROUS OPERATION ===" +echo "Are you sure you want to remove all files in src/?" +echo -n "If so, type \"yes\" in all caps: " +read ans +if [ "YES" == $ans ] +then + pushd "$(dirname "$0")" > /dev/null + + echo "[1/5] Removing current src/ directory" + rm -rf src + echo "[2/5] Copying new sources" + mkdir src + cp -r "$1"/{*.c,*.h,*.R,*.but,LICENCE,README} src + echo "[3/5] Regenerating help" + ./genhelp.sh + + echo "[4/5] Staging for commit" + git add src help + echo "[5/5] Successfully resynced with upstream" + + popd > /dev/null +else + echo "Did nothing." +fi