1# A private repo still records reviews after a push, but serves no sites or2# previews, unless git config forge.publicsites true; its events say private.3. "$(dirname "$0")/../lib.sh"4user dami5repo --private dami/secret6clone dami dami/secret "$T/w/dami"7at "$T/w/dami" commit "first"8ok push_as dami "$T/w/dami" origin main "$(site_commit "$T/w/dami" docs):refs/sites/docs"9has "$T_LOG" 'site docs: not served, since dami/secret is private'10git --git-dir="$FORGE_ROOT/dami/secret.git" rev-parse -q --verify refs/sites/docs >/dev/null || fail "the site ref is kept"11missing "$FORGE_WWW/sites/dami/secret/docs"12at "$T/w/dami" git switch -q -c dami/topic13at "$T/w/dami" commit "topic"14ok push_as dami "$T/w/dami" origin dami/topic "$(site_commit "$T/w/dami" preview):refs/site-previews/docs/dami/topic"15exists "$FORGE_ROOT/dami/secret.git/forge/reviews/1"16missing "$FORGE_WWW/previews/dami/secret/docs/dami~topic"17has "$FORGE_ROOT/.forge/events.jsonl" '"type":"push".*"refs":" refs/heads/main refs/sites/docs","private":true}$'1819# forge.publicsites: the repo stays private, its sites are served.20git --git-dir="$FORGE_ROOT/dami/secret.git" config forge.publicsites true21ok push_as dami "$T/w/dami" origin "+$(site_commit "$T/w/dami" docs2):refs/sites/docs"22has "$FORGE_WWW/sites/dami/secret/docs/index.html" 'docs2'23# and going private again keeps them.24repo dami/open25git --git-dir="$FORGE_ROOT/dami/open.git" config forge.publicsites true26clone dami dami/open "$T/w/open"27at "$T/w/open" commit "first"28ok push_as dami "$T/w/open" origin main "$(site_commit "$T/w/open" docs):refs/sites/docs"29ok ssh_as dami private dami/open30exists "$FORGE_WWW/sites/dami/open/docs/index.html"