Che cosa fa questo strumento
Entrano due testi, esce un diff unificato.
version: 1 version: 2
name: demo name: demo
port: 8080 port: 8080
debug: true
@@ -1,3 +1,4 @@
-version: 1
+version: 2
name: demo
port: 8080
+debug: true
Il confronto usa l’algoritmo di Myers — lo stesso dietro git diff — così il risultato è l’insieme di modifiche più piccolo e non il primo trovato. Testi identici danno un risultato vuoto, che è la risposta che cercavi.
Leggere il risultato
@@ -1,3 +1,4 @@— dove sta la modifica: tre righe dalla 1 a sinistra, quattro dalla 1 a destra.-— la riga è nel primo testo e non nel secondo.+— la riga è nel secondo e non nel primo.- Uno spazio iniziale — la riga è invariata e compare come contesto. Tre per lato, come fa Git di default.
Quando due righe apparentemente identiche differiscono
-a
+a
Niente da vedere, eppure non è la stessa riga. I soliti sospetti: uno spazio a fine riga, una tabulazione contro spazi e un fine riga di Windows \r\n contro un \n di Unix — un file modificato su due macchine li colleziona tutti e tre. Il confronto legge i caratteri esatti, quindi segnala una differenza che non può mostrarti.
cat -A su Unix stampa un $ a fine riga e un ^M per un ritorno a capo; quasi tutti gli editor hanno un interruttore «mostra spazi». L’uno o l’altro rende la differenza visibile in un secondo.
Che cosa non fa
- Evidenziazione a livello di parola. Un carattere cambiato segna l’intera riga.
- Rilevamento di rinomine o spostamenti. Un blocco spostato si legge come una rimozione e un’aggiunta, non come uno spostamento.
- Una fusione a tre vie. Confronta due testi; non li riconcilia.
- Il segno
\ No newline at end of file. Un testo che finisce con un a capo contro uno che non ce l’ha compare come una riga vuota aggiunta, che è la stessa informazione in forma più semplice.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.