verificare partener: garda pe cont NULL, hook-uri de disciplina, docs compactate
- 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
This commit is contained in:
@@ -1,65 +1,46 @@
|
||||
# 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
|
||||
|
||||
1. **Munca reală se comite DOAR în SVN.** Nu face `git commit` cu o modificare nouă care n-a trecut prin SVN.
|
||||
2. **git se împrospătează DIN svn**, într-o singură direcție.
|
||||
3. **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
|
||||
|
||||
### 1. Împaci în SVN
|
||||
```
|
||||
# ROAGEST\COMUN
|
||||
svn commit -m "modificari roagest"
|
||||
# ROAAUTO\COMUN
|
||||
svn update # aduce fisierele din roagest (alte fisiere -> fara conflict)
|
||||
svn commit -m "modificari roaauto"
|
||||
# ROAGEST\COMUN
|
||||
svn update # aduce fisierele din roaauto
|
||||
```
|
||||
Acum ambele copii SVN au tot. E sursa de adevăr.
|
||||
|
||||
### 2. Oglindești în git (doar din folderul publisher)
|
||||
```
|
||||
cd ROAAUTO\COMUN
|
||||
git add -A
|
||||
git commit -m "sync svn"
|
||||
git push
|
||||
```
|
||||
|
||||
### 3. Celălalt folder: aliniere, NU commit
|
||||
```
|
||||
cd ROAGEST\COMUN
|
||||
git fetch origin
|
||||
git reset --hard origin/main
|
||||
```
|
||||
Sigur: fișierele sunt deja identice cu origin (le-a făcut svn), `reset` doar mută pointerul.
|
||||
|
||||
## Când te muți dintr-un proiect în altul
|
||||
```
|
||||
svn update # in proiectul unde intri
|
||||
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-uri `sync SVN rN`, facute din stare curata
|
||||
(imediat dupa `svn 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 commit` facut de utilizator), branch-ul se inchide
|
||||
(merge in `main` la urmatorul sync sau stergere).
|
||||
- Igiena: sync pe `main` doar din stare curata — `svn update` in mijlocul lucrului amesteca
|
||||
binarele pe disc.
|
||||
# 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
|
||||
|
||||
1. **Munca reală se comite DOAR în SVN.** Nu face `git commit` cu o modificare noua care n-a
|
||||
trecut prin SVN.
|
||||
2. **git se împrospătează DIN svn**, într-o singură direcție.
|
||||
3. **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
|
||||
|
||||
1. **Împaci în SVN**: `svn commit` in ROAGEST\COMUN -> `svn update` in ROAAUTO\COMUN (aduce
|
||||
fisierele din roagest, fara conflict pe fisiere diferite) -> `svn commit` acolo -> `svn update`
|
||||
inapoi in ROAGEST\COMUN. Acum ambele copii SVN au tot — e sursa de adevăr.
|
||||
2. **Oglindești în git, doar din folderul publisher**: `git add -A` + `git commit` + `git push`
|
||||
in ROAAUTO\COMUN.
|
||||
3. **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),
|
||||
`reset` doar 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-uri `sync SVN rN`, facute din stare curata
|
||||
(imediat dupa `svn 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 commit` facut de utilizator), branch-ul se inchide
|
||||
(merge in `main` la urmatorul sync sau stergere).
|
||||
- Igiena: sync pe `main` doar din stare curata — `svn update` in mijlocul lucrului amesteca
|
||||
binarele pe disc.
|
||||
|
||||
Reference in New Issue
Block a user