73 lines
1.7 KiB
Bash
Executable File
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"
|