netgescon-day0/scripts/ops/netgescon-day0-legacy-sync.sh

73 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Mirrors historical/local materials from legacy workspace into Day-0 local vault.
# The vault is intentionally git-ignored in Day-0.
SOURCE_DIR="/home/michele/netgescon/netgescon-laravel"
TARGET_DIR="/home/michele/netgescon/netgescon-day0/_legacy-vault"
usage() {
cat <<'EOF'
Usage:
bash scripts/ops/netgescon-day0-legacy-sync.sh [--source <path>] [--target <path>]
EOF
}
while [[ $# -gt 0 ]]; do
case "$1" in
--source) SOURCE_DIR="$2"; shift 2 ;;
--target) TARGET_DIR="$2"; shift 2 ;;
-h|--help) usage; exit 0 ;;
*) echo "Unknown option: $1" >&2; exit 1 ;;
esac
done
mkdir -p "$TARGET_DIR"
sync_dir() {
local rel="$1"
if [[ -d "$SOURCE_DIR/$rel" ]]; then
mkdir -p "$TARGET_DIR/$rel"
rsync -a --delete "$SOURCE_DIR/$rel/" "$TARGET_DIR/$rel/"
echo "SYNC_DIR $rel"
else
echo "SKIP_DIR $rel"
fi
}
sync_file() {
local rel="$1"
if [[ -f "$SOURCE_DIR/$rel" ]]; then
mkdir -p "$TARGET_DIR/$(dirname "$rel")"
cp -f "$SOURCE_DIR/$rel" "$TARGET_DIR/$rel"
echo "SYNC_FILE $rel"
else
echo "SKIP_FILE $rel"
fi
}
# Historical/context sources for continuity.
sync_dir "Miki-Bug-workspace"
sync_dir "docs/ai"
sync_dir "docs/00-IMPORT"
sync_dir "docs/incidents"
sync_dir "incoming"
sync_file "CREDENZIALI_UI_LOCALI_20260311_121500.md"
sync_file "netgescon-day0.code-workspace"
# Create a compact index for quick lookup.
index="$TARGET_DIR/INDEX-LEGACY-VAULT.txt"
{
echo "Legacy Vault Index"
echo "Generated: $(date '+%Y-%m-%d %H:%M:%S')"
echo "Source: $SOURCE_DIR"
echo "Target: $TARGET_DIR"
echo
find "$TARGET_DIR" -maxdepth 4 -type d | sort
} > "$index"
echo "DONE"
echo "INDEX: $index"