[rlug] diff mai diferit
Alex 'CAVE' Cernat
cave at cernat.ro
Tue Dec 5 21:19:40 EET 2023
interesanta abordare, si e de retinut pe viitor, insa changed e pe
grupul de linii care s-a schimbat, si nu vad cum are sanse sa prinda
spre exemplu schimbarea partiala a unei linii anume
cred ca in timpul de cautare scriam fix ce-mi trebuie cu serpisoru, dar
deh, cica sa nu reinventez roata :-P
Alex
On 05-Dec-23 20:46, Mihai Osian wrote:
> On Mon, Dec 4, 2023 at 12:46 PM Alex 'CAVE' Cernat via RLUG
> <rlug at lists.lug.ro> wrote:
>
> salut
>
> poate s-a mai lovit careva de chestia asta si a gasit o solutie
> simpla
> si eficienta, pana acum n-am gasit nimic si parca e peste mana sa
> reinventez roata, daca deja exista si se invarte pe undeva
>
> concret: diff-ul, fiind o scula de programare, e all or nothing,
> aka ori
> s-a pus linia, ori s-a scos; pe mine m-ar interesa ceva cat mai
> simplu
> care sa aiba si optiunea de "s-a modificat" linia respectiva
> (mdea, aici
> devine subiectiv, deci preferabil ar fi sa fie cumva configurabila
> "similaritatea" ... sau poate am noroc si merge din fuleu, pe baza
> unui
> criteriu gen daca incepe la fel atunci s-ar putea sa ...)
>
> a folosit cineva ceva de genul si poate recomanda? ca nea gogu gpt
> vad
> ca minte cam mult in ultimul timp 😛
>
> mersi
>
> Alex
>
>
> Daca ai timp si rabdare sa il bibilesti atunci si diff-ul clasic are
> optiuni de formatare. De exemplu:
> mike at kermix:~/tmp$ cat a
> a
> b
> c
>
> mike at kermix:~/tmp$ cat b
> a
> d
> c
>
> mike at kermix:~/tmp$ diff --unchanged-group-format=''
> --old-line-format='%l' --new-line-format='%l'
> --changed-group-format='s-a schimbat modificarea, linia %df din A
> (adica "%<") se facu linia %dF (adica "%>") din B
> ' a b
>
> s-a schimbat modificarea, linia 2 din A (adica "b") se facu linia 2
> (adica "d") din B
> mike at kermix:~/tmp$
>
> Daca vrei si culori se poate inventa o minune de genul (cauta "ansi
> escape colors", desi deja o ia razna treaba):
> mike at kermix:~/tmp$ diff --unchanged-group-format=''
> --old-line-format='\033[0;31m%l\033[0m'
> --new-line-format='\033[1;35m%l\033[0m' --changed-group-format='s-a
> schimbat modificarea, linia %df din A (adica "%<") se facu linia %dF
> (adica "%>") din B
> ' a b | xargs echo -e
> s-a schimbat modificarea, linia 2 din A (adica b) se facu linia 2
> (adica d) din B
> mike at kermix:~/tmp$
>
> Sau, cel mai simplu:
> mike at kermix:~/tmp$ diff -y a b
> a a
> b | d
> c c
>
> Mihai
More information about the RLUG
mailing list