Adauga scripts/roa_sync.ps1 (mutat din UTIL\foxbin2prg) + testele lui

Sync-ul de sesiune se distribuie de-acum cu COMUN (svn update / comun.git).
Fata de versiunea veche: dupa commit-ul local de sync reconciliaza cu origin
(fetch + ff-only sau rebase --empty=drop; sync-urile byte-identice cu origin
dispar singure) si face push automat DOAR cand tot ahead-ul e din commit-uri
de sync; conflict real -> abort + exit nenul. Switch -GitOnly pentru
reconciliere rapida / teste. Doc inrolare actualizat (tooling + pasul 6).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AvccPZXr4A9ihcTtExNoJT
This commit is contained in:
2026-07-27 11:59:42 +03:00
parent 39e3c4e238
commit 989c3dd6f4
3 changed files with 585 additions and 5 deletions

View File

@@ -21,8 +21,10 @@ ROAFACTURARE + COMUN (romfast/comun.git). Modelul de referinta este ROACONT.
## Preconditii
1. Tooling-ul partajat exista in `D:\ROA\UTIL\foxbin2prg\`: `git_sync.ps1`,
`vfp_filemap.ps1`, `txt2vcx.ps1`, `roa_sync.ps1`, `test_git_sync.ps1`,
`vfp_filemap.ps1`, `txt2vcx.ps1`, `test_git_sync.ps1`,
`test_roundtrip.ps1`. Citeste-le inainte (macar help-ul din git_sync.ps1).
`roa_sync.ps1` (+ `test_roa_sync.ps1`) traieste in `COMUN\scripts\` si vine
singur cu svn update; in foxbin2prg a ramas doar un stub de compatibilitate.
2. Proiectul e working copy SVN valid (`svn info D:\ROA\<PROIECT>`), cu `COMUN\`
inauntru (external SVN).
3. Repo-ul gitea exista: `git ls-remote git@gitea.romfast.ro:romfast/<proiect>.git`.
@@ -104,10 +106,11 @@ in care s-a lucrat efectiv, dupa svn update.
### 6. roa_sync.bat
Copiaza `D:\ROA\ROACONT\roa_sync.bat` in radacina proiectului (e generic, foloseste
`%~dp0`) si include-l in commit. Utilizatorul il ruleaza la inceput de sesiune:
svn update -> git_sync -> commit "sync SVN rN" pe main (proiect + COMUN) -> inchide
branch-urile claude/* cu diff gol.
Copiaza `D:\ROA\ROAFACTURARE\roa_sync.bat` in radacina proiectului (e generic,
foloseste `%~dp0` si cheama `COMUN\scripts\roa_sync.ps1`) si include-l in commit.
Utilizatorul il ruleaza la inceput de sesiune: svn update -> git_sync -> commit
"sync SVN rN" pe main (proiect + COMUN) -> reconciliere cu origin + push (doar
commit-uri de sync) -> inchide branch-urile claude/* cu diff gol.
### 7. Verificari finale