Comparador de texto / código
Compara dos fragmentos de código o texto línea a línea, con las líneas añadidas y eliminadas resaltadas.
Cómo se usa
- Pega la versión anterior en «Texto original» y la versión posterior en «Texto modificado». Los dos cuadros empiezan con un breve ejemplo en JSON que puedes sustituir.
- El resultado de «Diferencias» se actualiza mientras escribes o pegas. No hay ningún botón de comparar que pulsar.
- Lee el resultado de arriba abajo: una línea marcada con - sobre fondo rojo se eliminó del original, una línea marcada con + sobre fondo verde se añadió en el texto modificado, y las líneas en gris sin marca son iguales en los dos textos.
- Fíjate en los recuentos que aparecen en la misma fila que «Diferencias»: indican el número de líneas añadidas y eliminadas, y una línea editada cuenta una vez como eliminada y otra como añadida. Cuando todas las líneas coinciden, en su lugar aparece «Los dos textos son idénticos».
Preguntas frecuentes
¿Se sube o se guarda el texto que comparo?
No. La comparación se hace en tu navegador con JavaScript, y el texto que pegas no se envía a LeedyBox. La herramienta tampoco lo guarda.
¿Por qué dos líneas que se ven iguales aparecen como eliminada y añadida?
Las líneas se comparan de forma exacta, carácter a carácter, así que basta un espacio al final, una tabulación en lugar de espacios, un espacio de no separación en lugar de un espacio normal o un carácter invisible de ancho cero para que no coincidan. Además, muchas letras acentuadas se pueden guardar en dos formas Unicode, como un único carácter o como una letra seguida de un acento combinable, que se ven iguales pero no coinciden. Las mayúsculas y las minúsculas también cuentan como distintas. Los finales de línea de Windows y Unix se consideran iguales, así que no son la causa.
¿Por qué aparece al final una línea vacía añadida o eliminada?
Normalmente es porque uno de los textos termina con un salto de línea y el otro no. El texto se divide en cada salto de línea, así que un salto de línea al final añade una última línea vacía. Haz que los dos textos terminen igual y la línea sobrante desaparecerá.
¿Cómo se muestran las líneas editadas y las movidas?
La herramienta busca el mayor número de líneas que aparecen en los dos textos en el mismo orden y marca todas las demás como eliminadas o añadidas. Por eso, una línea editada aparece como una línea eliminada más una línea añadida, normalmente con la eliminada primero; cuando se editan varias líneas seguidas, las eliminadas suelen aparecer primero, agrupadas. Los movimientos no se detectan como tales: un movimiento aparece como líneas eliminadas en un sitio y añadidas en otro. Cuando un bloque de muchas líneas se desplaza por delante o por detrás de unas pocas líneas, puede que sean esas pocas líneas las que aparezcan como eliminadas y añadidas, mientras que el bloque en sí queda sin marcar.
¿Puedo usar el resultado como parche para git apply o para el comando patch?
No. El resultado muestra todas las líneas, con + delante de las líneas añadidas, - delante de las eliminadas y dos espacios delante de las que no cambian. A diferencia de un diff unificado, no tiene cabeceras de bloque @@ con números de línea ni líneas --- y +++ con nombres de archivo, así que git apply y el comando patch no pueden leerlo. Úsalo para revisar cambios y crea los archivos de parche con git diff o diff -u.
¿Cuánto texto puedo comparar?
Las líneas que coinciden al principio y al final de los dos textos no cuentan para el límite, y se siguen mostrando en el resultado. Si el número de líneas restantes del original multiplicado por el número de líneas restantes del texto modificado supera 4.000.000, por ejemplo 2500 frente a 2000 líneas, la herramienta muestra un mensaje en lugar de un resultado. En ese caso, compara los textos por partes más pequeñas. Por debajo del límite, los textos largos pueden hacer que la página responda con lentitud mientras escribes, porque la comparación se repite después de cada cambio.
¿Por qué un JSON o un código reformateado muestra tantos cambios?
La herramienta compara texto, no significado, así que una sangría nueva, unas claves reordenadas o una línea dividida en dos cuentan como cambios. Da el mismo formato a las dos versiones, con la misma sangría y el mismo orden de claves, antes de compararlas, para que las diferencias que queden sean sobre todo cambios de contenido.