Confronto testi (diff)
Confronta due testi riga per riga, guarda cosa è stato aggiunto, rimosso e modificato all'interno di ogni riga, e copia il risultato come unified diff.
Fissa qui gli strumenti. Restano salvati in questo browser.
Fissa uno strumento e il suo adesivo arriva qui.
Confronta due testi riga per riga, guarda cosa è stato aggiunto, rimosso e modificato all'interno di ogni riga, e copia il risultato come unified diff.
Il confronto cerca l'elenco più breve di righe da togliere dal primo testo e di righe da aggiungergli per trasformarlo nel secondo. Trovare quell'elenco equivale a trovare la sottosequenza comune più lunga (longest common subsequence): la serie più lunga di righe che compaiono in entrambi i testi nello stesso ordine. Questo strumento usa l'algoritmo pubblicato da Eugene Myers nel 1986, quello alla base di GNU diff e predefinito in Git, nella sua variante a spazio lineare, così la memoria usata resta proporzionale alla dimensione dei testi.
Quando una riga rimossa e una aggiunta si trovano nella stessa posizione di un blocco modificato, le due vengono confrontate di nuovo parola per parola e le parole diverse vengono evidenziate. Se le due righe hanno poco in comune, sono mostrate come una semplice rimozione e un'aggiunta, perché evidenziare quasi tutto non direbbe nulla.
Una riga segnata con − esiste solo nel testo originale, e una riga segnata con + esiste solo nel testo modificato. Una riga modificata compare quindi due volte: una volta rimossa e una volta aggiunta. Le due colonne di numeri sono i numeri di riga nel testo originale e in quello modificato. Il significato è affidato ai simboli; i colori lo ripetono soltanto.
La vista unificata mette tutto in una sola colonna, nell'ordine usato da un file di patch. La vista affiancata tiene ogni testo nella sua colonna e allinea le righe corrispondenti.
Copia come unified diff produce il formato di diff -u e git diff. Le modifiche sono raggruppate in hunk con tre righe invariate di contesto attorno. Ogni hunk inizia con un'intestazione come @@ -1,7 +1,8 @@, che si legge così: sette righe a partire dalla riga 1 dell'originale corrispondono a otto righe a partire dalla riga 1 del testo modificato.
La riga \ No newline at end of file fa parte del formato. Compare quando un testo non termina con un a capo, così che una patch possa ricostruire il file esattamente. Le viste della pagina ignorano questa differenza, perché un'ultima riga che appare identica non dovrebbe essere segnalata come modificata.
No. Il confronto viene fatto da JavaScript nella scheda del tuo browser. Lo strumento non fa alcuna richiesta di rete con ciò che incolli, e la policy di sicurezza del sito blocca le richieste verso qualsiasi altro host.
Di solito la differenza è invisibile: spazi a fine riga, un tab al posto degli spazi, uno spazio non separabile, o una lettera accentata memorizzata come due caratteri invece di uno. Attiva l'opzione per ignorare le differenze di spazi per escludere i primi tre casi.
Sì. Salvalo in un file ed esegui patch con il nome del file da modificare, per esempio: patch notes.txt changes.diff. Se hai copiato il diff con una delle opzioni «Ignora» attiva, le differenze ignorate non ci sono, quindi il file a cui applichi la patch non coinciderà esattamente con il testo modificato.
Testi di qualche migliaio di righe si confrontano in una frazione di secondo. La pagina disegna al massimo 5.000 righe, mentre il diff copiato contiene sempre tutte le modifiche. Per due testi molto lunghi quasi senza nulla in comune la ricerca viene interrotta prima e il risultato può essere più lungo del necessario.
Si apre in una finestra tutta sua e continua a funzionare offline.
Per installarla, tocca il pulsante Condividi e poi «Aggiungi alla schermata Home».