Add sync-to-windows.sh: rsync script for Linux→Windows build machine
Syncs all source, content, toolchain, and assets needed to build and test the game on the Windows machine at /vwe/firestorm. Excludes generated build outputs (bin dirs, *.mw4, *.dep), .git/LFS, _UNUSED, and the MW4 deploy dir. Co-authored-by: Claude Sonnet 4.6 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
GitHub Copilot
parent
106bb5b59f
commit
55b9bfc521
Executable
+91
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env bash
|
||||
# sync-to-windows.sh
|
||||
# Syncs the FireStorm repo to the Windows build/test machine mounted at /vwe/firestorm.
|
||||
#
|
||||
# Usage:
|
||||
# ./sync-to-windows.sh # full sync
|
||||
# ./sync-to-windows.sh --dry-run # preview only, no changes written
|
||||
#
|
||||
# Each section is a separate rsync so large unchanged trees (textures, audio,
|
||||
# movies) can be commented out when you know they haven't changed.
|
||||
|
||||
SRC=~/Repositories/firestorm
|
||||
DST=/vwe/firestorm
|
||||
|
||||
RSYNC_OPTS="-av --delete"
|
||||
if [[ "$1" == "--dry-run" ]]; then
|
||||
RSYNC_OPTS="$RSYNC_OPTS --dry-run"
|
||||
echo "[DRY RUN] No files will be written."
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
echo
|
||||
echo "=== [1/8] Root files ==="
|
||||
rsync $RSYNC_OPTS --exclude='*/' \
|
||||
"$SRC/" "$DST/"
|
||||
|
||||
echo
|
||||
echo "=== [2/8] Source code (Gameleap/code) — ~831 MB, skipping build output dirs ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
--exclude='rel.bin/' \
|
||||
--exclude='dbg.bin/' \
|
||||
--exclude='pro.bin/' \
|
||||
--exclude='arm.bin/' \
|
||||
--exclude='ice.bin/' \
|
||||
"$SRC/Gameleap/code/" "$DST/Gameleap/code/"
|
||||
|
||||
echo
|
||||
echo "=== [3/8] Game data root + hsh + Assets + Stats (Gameleap/mw4 minus Content and Resource) — ~200 MB ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
--exclude='Content/' \
|
||||
--exclude='Resource/' \
|
||||
"$SRC/Gameleap/mw4/" "$DST/Gameleap/mw4/"
|
||||
|
||||
echo
|
||||
echo "=== [3b/8] Resource: .nfo + .tga (source) only — skip generated .mw4 and .dep ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
--exclude='*.mw4' \
|
||||
--exclude='*.dep' \
|
||||
"$SRC/Gameleap/mw4/Resource/" "$DST/Gameleap/mw4/Resource/"
|
||||
|
||||
echo
|
||||
echo "=== [4/8] Content: scripts, tables, mechs, missions, build manifests — ~350 MB ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
--exclude='textures/' \
|
||||
--exclude='Audio/' \
|
||||
--exclude='movies/' \
|
||||
"$SRC/Gameleap/mw4/Content/" "$DST/Gameleap/mw4/Content/"
|
||||
|
||||
echo
|
||||
echo "=== [5/8] Content/textures — 3.1 GB (comment out if unchanged) ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/Gameleap/mw4/Content/textures/" "$DST/Gameleap/mw4/Content/textures/"
|
||||
|
||||
echo
|
||||
echo "=== [6/8] Content/Audio — 351 MB (comment out if unchanged) ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/Gameleap/mw4/Content/Audio/" "$DST/Gameleap/mw4/Content/Audio/"
|
||||
|
||||
echo
|
||||
echo "=== [7/8] Content/movies — 311 MB (comment out if unchanged) ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/Gameleap/mw4/Content/movies/" "$DST/Gameleap/mw4/Content/movies/"
|
||||
|
||||
echo
|
||||
echo "=== [8/8] Build environment, design data, HUD art ==="
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/build-env/" "$DST/build-env/"
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/BTFrstrm/" "$DST/BTFrstrm/"
|
||||
rsync $RSYNC_OPTS \
|
||||
"$SRC/Finished HUDS from J&J/" "$DST/Finished HUDS from J&J/"
|
||||
|
||||
echo
|
||||
echo "=== Sync complete ==="
|
||||
echo "Skipped (git/LFS): .git/"
|
||||
echo "Skipped (archived): _UNUSED/"
|
||||
echo "Skipped (deploy out): MW4/"
|
||||
echo "Skipped (build out): Gameleap/code/{rel,dbg,pro,arm,ice}.bin/"
|
||||
echo "Skipped (generated): Gameleap/mw4/Resource/*.mw4 *.dep"
|
||||
echo "Skipped (dev backup): Gameleap/mw4/Content/ShellScriptsDev/"
|
||||
Reference in New Issue
Block a user