1# A second forge lake adds nothing, and a later one adds only what is new2# since: every source remembers where it got to.3. "$(dirname "$0")/../lib.sh"4user dami5repo dami/greet6clone dami dami/greet "$T/w/d"7at "$T/w/d" commit "first"8push_as dami "$T/w/d" origin main9at "$T/w/d" commit "idea"10push_as dami "$T/w/d" origin HEAD:dami/idea11build dami/greet12ok forge lake13counts() { lq "SELECT (SELECT count(*) FROM events) || ' ' || (SELECT count(*) FROM builds) || ' ' || (SELECT count(*) FROM reviews)"; }14eq "$(counts)" "3 1 2"15ok forge lake16has "$T_LOG" '^lake: added 0 events, 0 builds, 0 review log lines, 0 ended, 0 attestations, 0 commits;'17eq "$(counts)" "3 1 2"18# A revision: one push event and the review's log read again, whole (its19# old rows are replaced, not repeated); one more build.20at "$T/w/d" git commit -q --amend -m "idea, again"21push_as dami "$T/w/d" -f origin HEAD:dami/idea22build dami/greet23ok forge lake24has "$T_LOG" '^lake: added 2 events, 1 build, 3 review log lines,'25eq "$(counts)" "5 2 3"26eq "$(lq "SELECT string_agg(rev::VARCHAR, ' ' ORDER BY rev) FROM reviews WHERE kind = 'rev'")" "1 2"27ok forge lake28eq "$(counts)" "5 2 3"