livrare.ps1: roa_sync la tree curat, rebase la push respins, garda SVN

- pasul 1 ruleaza roa_sync.ps1 cand tree-ul e curat (svn update + git_sync +
  reconciliere cu origin); cu modificari necomise ruleaza doar git_sync, ca
  roa_sync sa nu inglobeze munca in curs intr-un commit de sync SVN
- fetch inainte de commit: raporteaza cand ramura e in urma fata de origin
- push respins non-fast-forward: rebase + o singura reincercare, abort curat
  la conflict; fara --force
- avertisment pentru fisierele comise in git dar nefacute svn add
- docs: scripturi-uzuale.md - ce script se ruleaza si cand

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:18:45 +03:00
parent 48f15c1da1
commit d350119993
2 changed files with 202 additions and 20 deletions

24
docs/scripturi-uzuale.md Normal file
View File

@@ -0,0 +1,24 @@
# Scripturi uzuale (sarcini repetitive)
**Regula: o sarcina care se repeta se pune intr-un script si de atunci se apeleaza scriptul.**
Nu reface lantul de pasi din memorie la fiecare sesiune si nu da unui subagent aceleasi instructiuni
a doua oara — daca a doua oara e nevoie de acelasi lucru, scrie scriptul.
| Cand | Ce rulezi | Ce face |
|---|---|---|
| inceput de sesiune, si dupa orice `svn update` | `roa_sync.bat` din radacina proiectului (→ `COMUN\scripts\roa_sync.ps1`) | `svn update``git_sync` (texte `.??2`) → commit `sync SVN r<rev>` → reconciliere cu `origin` (ff/rebase) → push conditionat → inchide branch-urile `claude/*` terminate |
| inainte de un commit | `COMUN\utile\curatenie.ps1` (`-DryRun` doar listeaza) | sterge artefactele de lucru netrackuite: patch-uri de review, `handoff*`/`runda*`/`propuneri_*`, backup-uri `*.pre_runda*.bak`, artefacte de test |
| la "commit / push" | `COMUN\utile\livrare.ps1 -Mesaj "..." [-Comun]` | `git_sync``curatenie` → verificari de livrare → status/diff pe ambele repo-uri → commit + push. `COMUN` doar cu `-Comun`; `push --force` nu exista |
| editare `.vcx`/`.scx` | `D:\ROA\UTIL\foxbin2prg\` : `git_sync.ps1`, `vfp_symbols.ps1`, `txt2vcx.ps1` | reimprospatare text in-arbore, index de simboluri, write-back cu fidelity-check |
| actualizare de baza de date blocata | `COMUN\utile\diag_actualizare.ps1 -Alias <TNS>` | `UPD_ISTORIC``UPD_LOG``script_master.log` → versiuni per schema → job → tablespace → verdict. Vezi `depanare-pack-update.md` |
| spatiu plin la un client | `COMUN\utile\diag_spatiu.ps1 -Alias <TNS> [-Disc] [-SysPassword]` | tablespace, audit, ADR, FRA, disc server, top segmente. Vezi `depanare-spatiu-oracle.md` |
| teste UI VFP | harness din `COMUN\utile\Teste` | vezi `testare-ui-vfp.md` |
Documentatia **nu** se genereaza automat si nu exista niciun hook care s-o scrie — `livrare.ps1`
doar semnaleaza ce lipseste (changelog neatins, binar VFP fara textul lui sincronizat).
Candidati inca nescrisi: un helper pentru rulat SQL prin `sqlplus` (fisier ASCII + `@fisier.sql`,
refacut manual la fiecare interogare) si un wrapper care ruleaza `diag_spatiu.ps1` peste toti
clientii, cu un rezumat pe un rand per server.
Fluxul SVN ↔ git din spatele lui `roa_sync`: `fluxul_svn_git.md`.