livrare.ps1: fisierul de mesaj fara BOM

Out-File -Encoding utf8 in PS 5.1 scrie BOM, care ajungea ca prim caracter in
mesajul de commit (ex. un mesaj despre "sync SVN"). Se scrie cu
[IO.File]::WriteAllText si UTF8Encoding $false.

Nota in scripturi-uzuale.md: mesajele catre git/svn din PowerShell trec prin
fisier, UTF-8 fara BOM, LF.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
This commit is contained in:
2026-08-03 18:26:41 +03:00
parent f4b48d9c20
commit 1d3e75803f
2 changed files with 11 additions and 1 deletions

View File

@@ -22,3 +22,11 @@ refacut manual la fiecare interogare) si un wrapper care ruleaza `diag_spatiu.ps
clientii, cu un rezumat pe un rand per server.
Fluxul SVN ↔ git din spatele lui `roa_sync`: `fluxul_svn_git.md`.
**Mesaje de commit din PowerShell catre `git`/`svn` (exe native): niciodata `-m $mesaj`.**
PowerShell nu escapeaza ghilimele/backtick/`$` cand paseaza argumente catre un exe nativ - un
mesaj cu `"..."` sparge comanda. Solutie: scrie mesajul intr-un fisier temporar si foloseste
`git commit -F <fisier>` / `svn commit -F <fisier>`, cu textul **UTF-8 fara BOM**
(`[IO.File]::WriteAllText($cale, $mesaj, (New-Object Text.UTF8Encoding $false))` - `Out-File
-Encoding utf8` in PS 5.1 scrie BOM, care ajunge ca prim caracter in mesajul de commit) si
**LF, nu CRLF** (`svn commit -F` refuza fisiere cu linii mixte CRLF/LF: `E135000`).