#!/usr/bin/env bash
# re-sync the pristine vendored core slice from a tangled checkout (master).
# usage: scripts/sync-core.sh /path/to/tangled-checkout
set -euo pipefail

CORE=${1:?path to a tangled master checkout}
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
REV=$(git -C "$CORE" rev-parse HEAD)
echo "vendoring core @ $REV"

rm -rf "$ROOT/vendor/core"
mkdir -p "$ROOT/vendor/core/crates"
cp "$CORE/Cargo.toml" "$ROOT/vendor/core/Cargo.toml"
cp -r "$CORE/lexicons" "$ROOT/vendor/core/lexicons"
for c in knot-capability lexicons trusted-proxies gix-chunk gix-commitgraph; do
  cp -r "$CORE/crates/$c" "$ROOT/vendor/core/crates/"
done
mkdir -p "$ROOT/vendor/core/knot2"
cp -r "$CORE/knot2/." "$ROOT/vendor/core/knot2/"
rm -rf "$ROOT/vendor/core/knot2/target"
printf '%s\n' "$REV" > "$ROOT/vendor/core/REV"

echo "done - commit vendor/core/"
