#59 Clone docs + repo hygiene after #54 (Dockerfile, wiki/deploy, .gitignore, unset-mode UX)
Small leftovers from the #54 review — docs and repo hygiene.
Dockerfile:37still documents the old contract: "set HU13_PUBLIC_ORIGIN to advertise<origin>/repo.bundle". It advertises<origin>/repo.gitnow..forge/wiki/deploydoes not mentionrepo.gitat all, and its env table omitsHU13_PUBLIC_ORIGINentirely (flag exists, entrypoint passes it, docs never say so). It also still framesHU13_CLONE_URLas "the clone URL advertised on the index", which is now the fallback/mirror label..gitignorehas no/dist. Sincedist/repo.gitis a 200+-file directory, runninghu13 build . -o distin the repo now scatters hundreds of derived files into a tracked-looking path. Add/dist(and a.forge/wiki/deployline about building outside the repo).- Unset-origin clone block now advertises two clone methods back to back:
git clone repo.git -b <branch>andgit clone repo.bundle -b <branch>.repo.gitis a path, not a URL, and the adjacent note "ask the host for its address" reads oddly next to something that looks cloneable. Pick one primary (bundle stays authoritative when unset, per the existing contract) and mentionrepo.gitas the served-directory form. serve::content_type_formatcheslower.ends_with("/head"), i.e. any file namedheadanywhere. Match the bare-repo file exactly (/HEAD,info/refs,info/packs,packed-refs) to avoid teaching the mime table about arbitrary paths.
Acceptance:
-
Dockerfile + wiki/deploy describe
<origin>/repo.gitand document HU13_PUBLIC_ORIGIN -
/distignored - unset-origin clone block has one primary method
- content-type rule anchored to real bare-repo filenames
Uunknown ·
Fixed in e2792258-fd01-4be6-83ca-c68ef435cfed: export now clones from repo.bundle (one pack, no loose/dangling objects), remote.origin removed, sample hooks removed, single run_git_opt runner with OsStr paths + 120s export budget, content-type anchored to .git/HEAD+info/, docs updated. tests/clone_export.rs asserts all of it.