diff --git a/scripts/pi-diff.sh b/scripts/pi-diff.sh index 6bbd252..5722de3 100755 --- a/scripts/pi-diff.sh +++ b/scripts/pi-diff.sh @@ -92,6 +92,22 @@ diff_scenario() { .ccgram-uploads/*|*/__pycache__/*|*/.venv/*|.venv/*|*.pyc|*.bak-*|\ telegram-gateway/*|download.html|.pi/launch.json|*.log) continue ;; esac + # Vendored shared modules are installed by deploy-scenario.sh and are not in + # the scenario's workspace/, so compare them against shared/extensions/ + # instead of reporting them as untracked -- otherwise the one file most + # likely to drift is the one the diff stays silent about. + case "$rel" in + .pi/extensions/_shared/*) + mod="${rel#.pi/extensions/_shared/}" + src="$REPO_ROOT/shared/extensions/$mod" + if [ ! -f "$src" ]; then + untracked+=("$rel (no longer in shared/extensions)") + elif ! diff_file "$src" "$workspace/$rel" "$rel (vendored from shared/extensions)"; then + DIFFS=$((DIFFS + 1)) + fi + continue + ;; + esac [ -f "$dir/workspace/$rel" ] || untracked+=("$rel") done < <(cd "$workspace" && find . -type f -printf '%P\n' | sort)