1# forge repo rm takes the repo's rows out of every lake table, and the2# lake's note of where it read the repo's sources up to. So a private repo3# removed and a new public one made under its name don't share a history:4# the new one's insights have only its own facts.5. "$(dirname "$0")/../lib.sh"6user dami7user ana8repo --private dami/greet9mkdir -p "$FORGE_ROOT/dami/greet.git/forge" && echo ana >"$FORGE_ROOT/dami/greet.git/forge/collaborators"10clone dami dami/greet "$T/w/d"11at "$T/w/d" commit "secret plans"12push_as dami "$T/w/d" origin main13clone ana dami/greet "$T/w/a"14at "$T/w/a" commit "idea"15push_as ana "$T/w/a" origin HEAD:ana/idea16build dami/greet17ok forge lake18for t in events build_repos reviews commits; do19 [ "$(lq "SELECT count(*) FROM $t WHERE repo = 'dami/greet'")" -gt 0 ] || fail "no $t rows to forget"20done21[ "$(lq "SELECT count(*) FROM builds WHERE scope = 'dami/greet'")" -gt 0 ] || fail "no builds to forget"22ok forge repo rm dami/greet23for t in events build_repos reviews review_ends commits ci; do24 eq "$(lq "SELECT count(*) FROM $t WHERE repo = 'dami/greet'")" 025done26eq "$(lq "SELECT count(*) FROM builds WHERE scope = 'dami/greet'")" 027eq "$(lq "SELECT count(*) FROM sources WHERE source LIKE '% dami/greet' OR source LIKE '% dami/greet %'")" 02829repo dami/greet30clone dami dami/greet "$T/w/n"31at "$T/w/n" commit "fresh start"32push_as dami "$T/w/n" origin main33build dami/greet34ok forge lake35eq "$(lq "SELECT string_agg(subject, ',') FROM commits WHERE repo = 'dami/greet'")" "fresh start"36eq "$(lq "SELECT count(*) FROM reviews WHERE repo = 'dami/greet'")" 037has "$FORGE_WWW/dami/greet/insights/insights.json" '"pushes":1,'38lacks "$FORGE_WWW/dami/greet/insights/insights.json" 'ana/idea|secret plans'