This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Scripts/audit_repo_storage.sh
T

52 lines
1.3 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(git rev-parse --show-toplevel)"
cd "$repo_root"
echo "Agrarian repository storage audit"
echo "Repository: $repo_root"
echo
echo "Working tree size:"
du -sh . 2>/dev/null || true
echo
echo "Git object database:"
git count-objects -vH
echo
echo "Largest tracked files in HEAD:"
largest_tracked="$(mktemp)"
git ls-tree -r -l HEAD | sort -k4 -nr > "$largest_tracked"
head -n 25 "$largest_tracked" | awk '{ printf "%10s %s\n", $4, $5 }'
rm -f "$largest_tracked"
echo
if git lfs version >/dev/null 2>&1; then
echo "Largest Git LFS objects:"
largest_lfs="$(mktemp)"
git lfs ls-files -s | sed -E 's/^.*\\(([^)]*)\\)$/\\1 &/' | sort -hr > "$largest_lfs"
head -n 25 "$largest_lfs"
rm -f "$largest_lfs"
else
echo "Git LFS is not installed."
fi
echo
echo "Generated/local directories:"
for path in Binaries Intermediate Saved DerivedDataCache .vs Builds; do
if [ -e "$path" ]; then
du -sh "$path" 2>/dev/null || true
fi
done
echo
cat <<'NOTE'
Policy reminder:
- Do not store packaged builds, raw DEM/lidar/GIS datasets, DerivedDataCache, or
generated terrain tile caches in GitHub.
- Use Git for source, scripts, metadata, docs, and curated project assets.
- Use DevBox or future object storage for large artifacts and source data.
NOTE