Confronto di testo / codice
Confronta due porzioni di codice o testo riga per riga, con le righe aggiunte e rimosse evidenziate.
Come si usa
- Incolla la versione precedente in «Testo originale» e quella successiva in «Testo modificato». Entrambe le caselle contengono all’inizio un breve esempio JSON che puoi sostituire.
- Il risultato in «Differenze» si aggiorna mentre digiti o incolli. Non c’è alcun pulsante da premere per avviare il confronto.
- Leggi il risultato dall’alto verso il basso: una riga contrassegnata con - su sfondo rosso è stata rimossa dall’originale, una riga contrassegnata con + su sfondo verde è stata aggiunta nel testo modificato, e le righe in grigio senza segno sono uguali in entrambi i testi.
- Controlla i conteggi sulla stessa riga di «Differenze»: indicano il numero di righe aggiunte e rimosse, e una riga modificata conta una volta come rimossa e una volta come aggiunta. Quando tutte le righe coincidono, lì compare invece «I due testi sono identici.»
Domande frequenti
Il testo che confronto viene caricato o salvato?
No. Il confronto avviene nel browser con JavaScript e il testo che incolli non viene inviato a LeedyBox. Inoltre lo strumento non lo salva.
Perché due righe che sembrano uguali risultano una rimossa e l’altra aggiunta?
Le righe vengono confrontate esattamente, carattere per carattere, quindi basta uno spazio finale, una tabulazione al posto degli spazi, uno spazio unificatore al posto di uno spazio normale o un carattere invisibile a larghezza zero perché risultino diverse. Molte lettere accentate possono inoltre essere memorizzate in due forme Unicode, come un unico carattere oppure come una lettera seguita da un accento combinante: hanno lo stesso aspetto ma non coincidono. Anche maiuscole e minuscole contano come lettere diverse. I fine riga di Windows e di Unix sono considerati uguali, quindi non sono loro la causa.
Perché alla fine compare una riga vuota aggiunta o rimossa?
Di solito uno dei due testi termina con un a capo e l’altro no. Il testo viene diviso a ogni a capo, quindi un a capo alla fine aggiunge un’ultima riga vuota. Fai terminare i due testi allo stesso modo e la riga in più scompare.
Come vengono mostrate le righe modificate e quelle spostate?
Lo strumento cerca il maggior numero di righe presenti in entrambi i testi nello stesso ordine e segna tutte le altre come rimosse o aggiunte. Una riga modificata appare quindi come una riga rimossa più una riga aggiunta, di solito con quella rimossa per prima; quando sono state modificate più righe consecutive, di solito le righe rimosse compaiono prima, tutte insieme. Gli spostamenti non vengono riconosciuti come tali: uno spostamento appare come righe rimosse in un punto e aggiunte in un altro. Quando un blocco di molte righe viene spostato oltre poche altre righe, possono essere queste ultime a comparire come rimosse e aggiunte, mentre il blocco stesso resta senza segni.
Posso usare il risultato come patch per git apply o per il comando patch?
No. Il risultato mostra tutte le righe, con + davanti alle righe aggiunte, - davanti a quelle rimosse e due spazi davanti a quelle invariate. A differenza di un diff unificato, non ha intestazioni di blocco @@ con i numeri di riga né righe --- e +++ con i nomi dei file, quindi git apply e il comando patch non possono leggerlo. Usalo per rivedere le modifiche e crea i file di patch con git diff o diff -u.
Quanto testo posso confrontare?
Le righe che coincidono all’inizio e alla fine di entrambi i testi non contano ai fini del limite e vengono comunque mostrate nel risultato. Se il numero delle righe restanti dell’originale moltiplicato per il numero delle righe restanti del testo modificato supera 4.000.000, per esempio 2.500 righe contro 2.000, lo strumento mostra un messaggio invece del risultato. In questo caso, confronta i testi in parti più piccole. Anche sotto il limite, i testi lunghi possono rallentare la pagina mentre digiti, perché il confronto viene ripetuto dopo ogni modifica.
Perché un JSON o un codice riformattato mostra così tante modifiche?
Lo strumento confronta il testo, non il significato, quindi un nuovo rientro, chiavi riordinate o una riga divisa in due contano come modifiche. Prima del confronto formatta entrambe le versioni allo stesso modo, con lo stesso rientro e lo stesso ordine delle chiavi, così le differenze che restano saranno per lo più modifiche al contenuto.