25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# Modificari fantoma git dupa svn update (CRLF)
|
|
|
|
Simptom: `git status` arata fisiere `.md`/`.pjx` ca modificate dupa `svn update`,
|
|
desi continutul e identic.
|
|
|
|
Cauza: SVN scrie CRLF nativ si atinge mtime la fiecare update; `core.autocrlf=true`
|
|
face git sa (re)verifice/converteasca EOL-urile si sa le raporteze ca dirty.
|
|
|
|
Fix (2026-07-15): `.gitattributes` cu `* -text` la radacina fiecarui repo (ROAGEST,
|
|
COMUN, ROAAUTO, ROACONT, ROAIMOB, ROAACNPRO) — opreste normalizarea CRLF/LF a git,
|
|
SVN ramane autoritatea EOL. Pe repo nou cu acelasi tipar svn+git, copiaza acelasi
|
|
`.gitattributes`.
|
|
|
|
Capcana: `-text` opreste doar conversia *viitoare* — blob-urile deja in git (LF)
|
|
tot difera de ce scrie SVN (CRLF), deci diferenta reala reapare o data. Fix unic:
|
|
normalizat blob-urile la CRLF (`comun.git` fc11f3e), dupa care raman stabile.
|
|
|
|
Diagnostic rapid (fisier "murdar" fara motiv):
|
|
```
|
|
git hash-object <fisier>
|
|
git ls-files -s <fisier> # compara sha cu cel de mai sus
|
|
git update-index --refresh # sau git add <fisier> daca sha-urile sunt identice
|
|
diff <(git show HEAD:<f> | tr -d '\r') <(tr -d '\r' < <f>) # confirma ca e doar CRLF/LF
|
|
```
|