rockbox/apps/plugins/puzzles/resync.sh
Franklin Wei 09aa8de52c puzzles: resync with upstream
This brings the puzzles source in sync with Simon's branch, commit fd304c5
(from March 2024), with some added Rockbox-specific compatibility changes:

https://www.franklinwei.com/git/puzzles/commit/?h=rockbox-devel&id=516830d9d76bdfe64fe5ccf2a9b59c33f5c7c078

There are quite a lot of backend changes, including a new "Mosaic" puzzle.
In addition, some new frontend changes were necessary:

- New "Preferences" menu to access the user preferences system.
- Enabled spacebar input for several games.

Change-Id: I94c7df674089c92f32d5f07025f6a1059068af1e
2024-07-22 21:44:08 -04:00

45 lines
1.2 KiB
Bash
Executable file

#!/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/ and help/?"
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,*.but,LICENCE,README,CMakeLists.txt} src
echo "[3/5] Regenerating help"
rm -rf 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