From cbdc6c523d59d92bbce28dd81c38fa3ef267b8f9 Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Tue, 8 Sep 2026 12:56:21 -0400 Subject: [PATCH] wiki-publier : un wiki vide se clone tres bien, et le garde-fou ne le voyait pas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit En rattrapant origin, sa forge s est revelee porter un wiki VIDE — jamais publie. Avant de viser la forge, la manoeuvre a ete eprouvee contre un depot bare local, comme la premiere fois. LE DEFAUT Le garde-fou ne testait que l ECHEC du clone, alors que son message parle du cas vide : « le wiki doit exister (creer une 1re page dans Forgejo) ». Or un depot vide se clone parfaitement. La recette allait donc au bout et creait une branche `master` — parce que init.defaultBranch vaut master sur ce poste — alors que le wiki deja en service vit sur `main`. Le nom de branche etait DEVINE, et il divergeait d une forge a l autre. Un wiki publie sur la mauvaise branche est un wiki que Forgejo peut ne pas afficher : la publication reussit, la page reste introuvable, et rien ne l explique. LE CORRECTIF Refuser un wiki sans commit, plutot que de choisir a la place de Forgejo. Creer une premiere page dans son interface initialise le wiki avec LA branche qu il attend — il n y a plus rien a deviner. EPROUVE DANS LES DEUX SENS depot bare vide -> REFUSE, avec le geste a faire depot bare non vide -> publie forge eregion reelle -> « deja a jour », temoin depose Le troisieme essai compte autant que le premier : remplacer un defaut par un blocage aurait ete un autre defaut. CE QUE CA LAISSE OUVERT Le wiki d origin reste vide : l initialiser demande une action humaine dans l interface de la forge, que cette cible refuse desormais de contourner. Et le temoin ne nomme qu UNE forge. P60 prouve que le depot n a pas bouge depuis la derniere publication — pas que toutes les forges sont a jour. Tant qu il n y en a qu une de publiee, la distinction ne coute rien ; a deux, il faudra que le temoin porte une liste. make prouver : CONFORME, 59 OK, 0 echec, 1 saute. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q --- Makefile | 16 ++++++++++++++++ docs/audit/wiki-publie.yml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 17e1593..b574fb9 100644 --- a/Makefile +++ b/Makefile @@ -813,6 +813,22 @@ wiki-publier: ## Publie le wiki (wiki/) vers la forge printf '%s\n' 'Echec du clone (URL ou acces ?). Le wiki doit exister (creer une 1re page dans Forgejo).'; \ exit 1; \ fi; \ + : ' UN WIKI VIDE SE CLONE TRES BIEN, et le garde-fou ci-dessus ne le voyait pas :'; \ + : ' il ne teste que l ECHEC du clone, alors que son message parle du cas VIDE.'; \ + : ' Consequence mesuree le 2026-09-08 contre un depot bare local : la recette'; \ + : ' allait au bout et creait une branche `master` — parce que `init.defaultBranch`'; \ + : ' vaut master sur ce poste — alors que le wiki deja publie vit sur `main`. Le nom'; \ + : ' de branche etait DEVINE, et il divergeait d une forge a l autre.'; \ + : ' On refuse donc plutot que de choisir a la place de Forgejo : creer une premiere'; \ + : ' page dans son interface initialise le wiki avec LA branche qu il attend.'; \ + if ! git -C "$$tmp/wiki" rev-parse --verify --quiet HEAD >/dev/null; then \ + printf '%s\n' 'Refus: ce wiki est VIDE (aucun commit).' \ + 'Publier ici inventerait un nom de branche — sur ce poste `master`, alors que' \ + 'le wiki deja en service vit sur `main`. Creer une premiere page dans' \ + "l interface Forgejo de $(WIKI_REMOTE), puis relancer :" \ + ' make wiki-publier WIKI_REMOTE=...'; \ + exit 2; \ + fi; \ find "$$tmp/wiki" -maxdepth 1 -name '*.md' -delete; \ for f in "$$src"/*.md; do \ bn="$$(basename "$$f")"; \ diff --git a/docs/audit/wiki-publie.yml b/docs/audit/wiki-publie.yml index ab6e085..36d1e0b 100644 --- a/docs/audit/wiki-publie.yml +++ b/docs/audit/wiki-publie.yml @@ -1,5 +1,5 @@ --- # Ecrit par `make wiki-publier`, lu par la preuve P60. Ne pas editer a la main. remote: ssh://git@eregion.chezlepro.ca:2222/Alliance-Boreale/Set-OPS-Public.wiki.git -source: c9d31e9 +source: e2935ed date: 2026-09-08