Commit graph

2 commits

Author SHA1 Message Date
109763ab34 [FIX] test: check the exec bit git stores, not the mode umask decides
The permission test also demanded no group-write, measured on disk.
Git stores only the exec bit — 100644 or 100755 — and the rest comes
from the umask of whoever checks out. On a umask 0002 machine every
checkout yields 775, so the test failed thirteen times for a reason
that is not in the repository.

It now reads the index, the only mode the repo carries and hands to
others. A file made executable locally without being committed works
here and nowhere else — that is what this catches.

--- FR ---

[FIX] test : vérifier le bit que git stocke, pas le mode que l'umask fixe

Le test de permissions exigeait aussi l'absence d'écriture par le
groupe, mesurée sur le disque. Git ne stocke que le bit d'exécution —
100644 ou 100755 — et le reste vient de l'umask de celui qui fait le
checkout. Sur un poste en umask 0002, chaque checkout produit 775 : le
test échouait treize fois, pour une raison absente du dépôt.

Il lit désormais l'index, seul mode que le dépôt porte et transmet. Un
fichier rendu exécutable localement sans être commité marche ici et
nulle part ailleurs — c'est ce que ce test attrape.

Assisted-by: Claude Opus 5
2026-08-22 07:23:59 -04:00
0870696701 [FIX] script: make the analysis and migration tools executable
Nine of the thirteen carried a shebang without the bit, so only four
could be run by their own path. Set to 755, not chmod +x: two were
664 under the 0002 umask and would have become 775 — executed by
others while a group member could still rewrite them. That pairing is
the only real risk here; the bit alone grants nothing, since reading
the file is enough to run python3 on it.

Being runnable opens a path without the venv: the shebang resolves to
the system python3, which has no Textual. --tui fell back to the text
report saying nothing. It now names the interpreter and the venv.

--- FR ---

[FIX] script : rendre exécutables les outils d'analyse et de migration

Neuf des treize portaient un shebang sans le bit ; quatre seulement
se lançaient par leur chemin. Mis à 755, pas chmod +x : deux étaient
en 664 sous l'umask 0002 et seraient passés à 775 — exécutés par
d'autres alors qu'un membre du groupe pouvait encore les réécrire.
C'est la seule vraie prise ici ; le bit seul n'accorde rien, lire le
fichier suffit déjà à lancer python3 dessus.

Devenir lançable ouvre un chemin sans le venv : le shebang résout le
python du système, sans Textual. --tui retombait sur le rapport texte
sans rien dire. Il nomme désormais l'interpréteur et le venv.

Assisted-by: Claude Opus 5
2026-08-22 07:23:59 -04:00