test(kit): o teste da release publicada zera o ambiente git herdado (cerca de identidade)

A cerca tests/unit/testes-de-shell-nao-vazam-identidade.test.ts reprovava o
teste novo: `git config user.*` na linha 33 e nenhum
`unset $(git rev-parse --local-env-vars)`. Com um GIT_DIR herdado de hook ou
rebase --exec, o `git init`/`git remote add` escreveria no repositório de quem
roda. Agora o ambiente é zerado logo depois do `set -uo pipefail` e a
identidade vai por GIT_AUTHOR_*/GIT_COMMITTER_*, como nos testes irmãos.

Medido: 7/7 rc=0 em bash 5.3 e /bin/bash 3.2 (sem config global); com
GIT_DIR apontando para um repositório-isca, a isca ficou sem commit e sem
remote.

Co-authored-by: bonito-system <thiagobaltuilhe@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N9fyW7pXJCsyDPtu5PoQpN
This commit is contained in:
melgarafael
2026-09-24 01:57:59 -03:00
co-authored by bonito-system Claude Opus 5.5
parent d37cd5ca3b
commit 4b12bf30d4
@@ -15,6 +15,10 @@
# Nada aqui toca a rede: a "API" é um JSON local servido por `file://`, pelo
# mesmo `DESKCOMM_RELEASES_LATEST_URL` que um fork usaria.
set -uo pipefail
# Zera o ambiente git herdado (GIT_DIR de hook ou rebase --exec) e passa a
# identidade por variável: nada aqui escreve no repositório de quem roda.
unset $(git rev-parse --local-env-vars)
export GIT_AUTHOR_NAME=t GIT_AUTHOR_EMAIL=t@t.t GIT_COMMITTER_NAME=t GIT_COMMITTER_EMAIL=t@t.t
KIT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../hostgator-setup-kit" && pwd)"
WORK="$(mktemp -d)"
@@ -30,7 +34,6 @@ REPO="$WORK/repo"
git init --quiet "$REPO"
(
cd "$REPO"
git config user.email t@t; git config user.name t
echo a > a; git add -A; git commit --quiet -m a; git tag v1.19.0
echo b > b; git add -A; git commit --quiet -m b; git tag -a v1.20.0 -m "criada à mão, sem release"
)