- ooperatii_comune: verific_partener nu mai construieste SQL NULL cand contul primit e NULL (EMPTY(.NULL.) e .F. in VFP) - utile\context_watch.ps1 si utile\docs_revizie_check.ps1: masurarea contextului sesiunii si cadenta reviziei de documentatie, prin hook-uri Claude Code (instalare in docs\monitorizare-context.md) - reguli_lucru: delegare la subagenti, modificari minime si scoped, scrierea si revizuirea documentatiei, changelog strictul necesar (regulile 3, 6, 9, 11, 12) - scripturi-migrare-db: continutul unui script (scoped, fara select, idempotent) - teste noi pentru cele doua erori din achizitia de import - restul documentatiei compactata, fara pierdere de reguli Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYbiinqXxdEqXi53x4Ro7K
2.3 KiB
2.3 KiB
Flux SVN + git pentru COMUN
SVN = șeful (munca reală circulă prin el). git = oglindă pentru unelte (Claude, căutare). git primește de la SVN, niciodată invers.
Reguli
- Munca reală se comite DOAR în SVN. Nu face
git commitcu o modificare noua care n-a trecut prin SVN. - git se împrospătează DIN svn, într-o singură direcție.
- COMUN se publică pe git dintr-UN SINGUR folder (publisher, ex.
ROAAUTO\COMUN). Celelalte doar se aliniază la origin.
Lucrat în paralel în 2 proiecte (ex. roagest + roaauto), fișiere diferite
- Împaci în SVN:
svn commitin ROAGEST\COMUN ->svn updatein ROAAUTO\COMUN (aduce fisierele din roagest, fara conflict pe fisiere diferite) ->svn commitacolo ->svn updateinapoi in ROAGEST\COMUN. Acum ambele copii SVN au tot — e sursa de adevăr. - Oglindești în git, doar din folderul publisher:
git add -A+git commit+git pushin ROAAUTO\COMUN. - Celălalt folder: aliniere, NU commit — in ROAGEST\COMUN:
git fetch origin+git reset --hard origin/main. Sigur: fișierele sunt deja identice cu origin (le-a făcut svn),resetdoar mută pointerul.
Când te muți dintr-un proiect în altul: svn update in proiectul unde intri, apoi
git reset --hard origin/main in COMUN, ca git-ul sa fie curat.
Regula care rezumă tot
Un singur folder publică în git (commit+push). Celelalte doar
git reset --hard origin/main. Munca circulă prin SVN; git fotografiază rezultatul.
Model de branching (git urmareste text .??2)
git urmareste versiunile text FoxBin2Prg (.vc2/.sc2/…), improspatate in-arbore cu git_sync.ps1
la inceput de sesiune si inainte de orice commit; nu comite cat timp git_sync raporteaza esecuri
(exit nenul). Doua benzi:
main= oglinda SVN: primeste DOAR commit-urisync SVN rN, facute din stare curata (imediat dupasvn update, inainte de lucru local).- Claude lucreaza pe branch
claude/<subiect>si comite doar acolo;git diff main..claude/<subiect>arata exact si numai munca lui. - Dupa ce modificarile intra in SVN (
svn commitfacut de utilizator), branch-ul se inchide (merge inmainla urmatorul sync sau stergere). - Igiena: sync pe
maindoar din stare curata —svn updatein mijlocul lucrului amesteca binarele pe disc.