Files
roafacturare/docs/svn_commit_anaf.md
2026-09-30 22:27:27 +03:00

55 lines
4.4 KiB
Markdown

# SVN commit - verificare automata ANAF pe factura (pe main, fara branch)
Verificat 30.09.2026 cu `svn status`. Working copy-ul are acum pe disc continutul branch-ului git `anaf-factura` (COMUN).
**NU face `git checkout main` in COMUN inainte de svn commit** - ar readuce fisierele la versiunea veche si commit-ul SVN ar pleca gol.
## 1. svn add (fisiere noi)
```
cd /d D:\roa\ROAFACTURARE
svn add COMUN\grafice\verificare1_verde.bmp COMUN\grafice\verificare2_verde.bmp COMUN\grafice\verificare1_rosu.bmp COMUN\grafice\verificare2_rosu.bmp COMUN\grafice\verificare1_gri.bmp COMUN\grafice\verificare2_gri.bmp
```
`verificare{1,2}_portocaliu.bmp` NU se folosesc - nu le adauga; le poti sterge de pe disc (sunt in git pe branch, dispar odata cu el).
## 2. svn commit tintit
```
svn commit -m "ROAFACTURARE 2.11.20 - verificare automata ANAF a clientului pe factura si aviz (cod fiscal verde/rosu, iconita gri cand ANAF nu raspunde)" ^
COMUN\programe\ofacturare_antet.prg ^
COMUN\programe\ocautare.prg ^
COMUN\programe\validare.prg ^
COMUN\clase\ofacturare.vcx ^
COMUN\clase\ofacturare.vct ^
COMUN\grafice\verificare1_verde.bmp COMUN\grafice\verificare2_verde.bmp ^
COMUN\grafice\verificare1_rosu.bmp COMUN\grafice\verificare2_rosu.bmp ^
COMUN\grafice\verificare1_gri.bmp COMUN\grafice\verificare2_gri.bmp ^
changelog_roafacturare.txt
```
`ofacturare.vc2` e ignorat de SVN (textul il regenereaza git_sync din binar). `.vcx`/`.vct` contin S2 + S2b (write-back verificat prin reconversie).
**ATENTIE `ofacturare.vcx`:** sesiunea planului #13 lucreaza pe acelasi binar (`frm_facturare_articole2`). Daca a comis-o deja in SVN, `svn update` inainte da conflict pe binar - atunci nu comite binarul, da-i sesiunii #13 promptul din `prompt_integrare_13_anaf.md`.
## 3. Dupa svn commit - git fara branch
In `D:\roa\ROAFACTURARE\COMUN` (skill `roa-git-svn-commit`, pasii lui au prioritate):
1. `git checkout main` apoi `roa_sync` -> aduce revizia SVN noua pe git main (inclusiv `.vc2` regenerat).
2. Verifica: `git diff 558ccda main -- programe clase/ofacturare.vc2 grafice` sa nu arate diferente de cod (doar ce a mai intrat din SVN intre timp).
3. `git branch -D anaf-factura`.
## INCHIS - probele de test (30.09): Marius a ales (c). Sterse de pe disc (`utile/Teste/anaf_factura/`, `utile/Teste/cache_anaf/test_s0_istoric_data_ceruta.prg`); in git apar ca `D` pe branch - ignora; fisierele nu exista pe main, deci `git checkout main` trece, iar ele dispar definitiv la `git branch -D anaf-factura`. Fara `git stash` in COMUN.
## (istoric) probele de test
`COMUN\utile\Teste` e **svn:ignore** -> cele 24 de probe din `utile/Teste/anaf_factura/` si `utile/Teste/cache_anaf/test_s0_istoric_data_ceruta.prg` NU ajung pe main prin roa_sync si se pierd la `git branch -D`. Alege: (a) le salvezi inainte (copie in afara repo-ului), sau (b) commit git direct pe main doar pentru `utile/Teste/**` dupa roa_sync (exceptie de la regula "pe main scrie doar roa_sync" - decizia ta), sau (c) renunti la ele.
## EXECUTAT 30.09.2026 - OPRIT LA PASUL 5
- Pas 1: `svn status -u` - niciun fisier din lista invechit; fara conflict.
- Pas 2-3: 6 bmp adaugate; `svn commit` tintit -> **revizia SVN 18238** (.prg x3, .vcx, .vct, 6 bmp, changelog).
- Pas 4: `git checkout main` in COMUN (tree curat, a trecut) apoi roa_sync -> `sync SVN r18238` pe proiect si COMUN, push facut.
- Pas 5: **DIFERENTE**: `git diff 558ccda main` arata `ofacturare_antet.prg` -389 linii (main=925 linii, SVN r18238=1314), `ocautare.prg` si `validare.prg` revenite, `ofacturare.vc2` -43 linii. Doar cele 6 bmp au intrat pe main.
- Cauza (dovada): `git checkout main` a rescris pe disc cele 3 `.prg` cu versiunea veche (working copy SVN dupa commit), deci `svn status` arata acum `M` pe ocautare.prg, ofacturare_antet.prg, validare.prg (= reversul r18238), iar roa_sync a comis ca "sync r18238" acel continut vechi (commit-ul COMUN 1a24467 contine doar bmp-urile). Binarul `.vcx/.vct` e ok (svn status curat). Documentul avertiza doar pentru checkout INAINTE de commit.
- Stare periculoasa: cele 3 .prg de pe disc sunt VECHI fata de SVN 18238; un `svn commit` pe ele ar anula lucrarea. Main git (pushat) are .prg/.vc2 vechi.
- NEFACUT: pasii 6 (branch -D anaf-factura NU s-a rulat; branch-ul are codul corect, 558ccda) si 7. Remediere propusa (decide lead): restaurare cele 3 .prg din SVN (`svn cat -r 18238` sau revert) + regenerare .vc2, apoi roa_sync.
- Stare finala: COMUN pe `main`, branch `anaf-factura` pastrat.