1# A staged backup restores into an empty root whole: hooks, keys, refs,2# review logs and comments, and the forge state that can't be rebuilt.3. "$(dirname "$0")/../lib.sh"4user dami5user ana6repo dami/greet7clone dami dami/greet "$T/w/d"8at "$T/w/d" commit "first"9push_as dami "$T/w/d" origin main10clone ana dami/greet "$T/w/a"11at "$T/w/a" commit "idea"12push_as ana "$T/w/a" origin HEAD:ana/idea13echo "looks fine" | ssh_as dami comment dami/greet 1 >"$T_LOG" 2>&1 || fail "comment failed"14exists "$FORGE_ROOT/dami/greet.git/forge/comments/1/1"15ok forge backup --dry-run16r=$T/restored17ok restore_into "$r" --from "$FORGE_ROOT/.forge/backup/stage"18exists "$r/dami/greet.git/hooks/pre-receive"19has "$r/.ssh/authorized_keys" 'shell ana"'20ok diff -r "$FORGE_ROOT/dami/greet.git/forge" "$r/dami/greet.git/forge"21eq "$(git --git-dir="$r/dami/greet.git" for-each-ref | wc -l)" "$(git --git-dir="$FORGE_ROOT/dami/greet.git" for-each-ref | wc -l)"22ok git --git-dir="$r/dami/greet.git" fsck --no-dangling --no-progress23exists "$r/.forge/www/dami/greet/index.html"