1# ssh land: the forge fast-forwards the target itself, deletes the branch,2# and refuses what isn't a fast-forward, changing nothing.3. "$(dirname "$0")/../lib.sh"4user dami5user ana6repo dami/greet7clone dami dami/greet "$T/w/dami"8at "$T/w/dami" commit "first"9push_as dami "$T/w/dami" origin main10clone ana dami/greet "$T/w/ana"11at "$T/w/ana" commit "ana's change"12push_as ana "$T/w/ana" origin HEAD:ana/change13tip=$(git -C "$T/w/ana" rev-parse HEAD)14fails_with "only dami can push main" ssh_as ana land dami/greet 115ok ssh_as dami land dami/greet 116eq "$(git --git-dir="$FORGE_ROOT/dami/greet.git" rev-parse main)" "$tip"17fails git --git-dir="$FORGE_ROOT/dami/greet.git" rev-parse -q --verify refs/heads/ana/change18has "$FORGE_ROOT/dami/greet.git/forge/reviews/1" '^deleted '1920# Not a fast-forward: main moved on under the review.21at "$T/w/ana" git fetch -q origin22at "$T/w/ana" git switch -q -c ana/two origin/main23at "$T/w/ana" commit "two"24push_as ana "$T/w/ana" origin ana/two25at "$T/w/dami" git pull -q origin main26at "$T/w/dami" commit "meanwhile"27push_as dami "$T/w/dami" origin main28before=$(git --git-dir="$FORGE_ROOT/dami/greet.git" rev-parse main)29fails_with "doesn't fast-forward" ssh_as dami land dami/greet 230eq "$(git --git-dir="$FORGE_ROOT/dami/greet.git" rev-parse main)" "$before"