Skip to content

fix(garde-fous): le test des verdicts ne touche plus au vrai depot depuis un worktree - #21

Open
stephrobert wants to merge 1 commit into
mainfrom
fix/garde-fou-hors-worktree
Open

stephrobert wants to merge 1 commit into
mainfrom
fix/garde-fou-hors-worktree

Conversation

@stephrobert

Copy link
Copy Markdown
Owner

Ce que corrige cette PR

Le garde-fou des verdicts (tests/test_verdicts_et_commun_separes.py) crée un dépôt git jetable pour éprouver l'outil. Lancé par le hook de commit, il héritait de GIT_DIR et de GIT_INDEX_FILE.

Dans un checkout ordinaire, ces chemins sont relatifs et retombent sans dommage dans le dossier temporaire. Dans un worktree, ils sont absolus et visent le vrai dépôt. Constaté le 2026-10-31 sur publier-service-dsoxlab-training, lors d'un commit depuis un worktree :

  • la configuration du vrai dépôt a reçu core.bare=true et l'identité de test Banc <[email protected]> : tout commit suivant aurait été signé « Banc » ;
  • l'index du worktree a été remplacé par celui du dépôt jetable ;
  • l'outil lisait l'index du worktree au lieu de celui du dépôt jetable, et 8 cas échouaient.

L'assistant _env_sans_git() retire les variables GIT_* de l'environnement de chaque appel à git et à l'outil. Le correctif a été éprouvé depuis un worktree : tous les hooks passent, et la configuration du dépôt reste intacte (core.bare=false, aucune identité locale).

Le fichier est identique dans dix-sept catalogues ; la même correction leur est appliquée.

…puis un worktree

Lance par le hook de commit, test_verdicts_et_commun_separes.py heritait de
GIT_DIR et GIT_INDEX_FILE. Dans un worktree ces chemins sont absolus : le
depot jetable du test ecrivait core.bare=true et l'identite de test dans
la configuration du vrai depot, et remplacait l'index du worktree.
Constate le 2026-10-31. L'assistant _git retire desormais les variables
GIT_* de son environnement.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant