Comparador de textos (diff)
Compara dos textos línea por línea, ve qué se ha añadido, eliminado y cambiado dentro de cada línea, y copia el resultado como unified diff.
Fija aquí tus herramientas. Se guardan en este navegador.
Fija una herramienta y su pegatina aparece aquí.
Compara dos textos línea por línea, ve qué se ha añadido, eliminado y cambiado dentro de cada línea, y copia el resultado como unified diff.
La comparación busca la lista más corta de líneas que hay que eliminar del primer texto y de líneas que hay que añadirle para convertirlo en el segundo. Encontrar esa lista es el mismo problema que encontrar la subsecuencia común más larga: la serie más larga de líneas que aparecen en los dos textos en el mismo orden. Esta herramienta usa el algoritmo que Eugene Myers publicó en 1986, el que hay detrás de GNU diff y el predeterminado de Git, en su variante de espacio lineal, así que el uso de memoria se mantiene proporcional al tamaño de los textos.
Cuando una línea eliminada y una añadida ocupan el mismo lugar dentro de un bloque de cambios, se vuelven a comparar palabra por palabra y se resaltan las palabras que difieren. Si las dos líneas tienen poco en común, se muestran como una simple eliminación y una adición, porque resaltar casi todo no aportaría nada.
Una línea marcada con − solo existe en el texto original, y una línea marcada con + solo existe en el texto modificado. Por eso una línea cambiada aparece dos veces: una como eliminada y otra como añadida. Las dos columnas de números son los números de línea en el texto original y en el modificado. El significado lo dan los signos; los colores solo lo repiten.
La vista unificada lo pone todo en una sola columna, en el mismo orden que usa un archivo de parche. La vista lado a lado deja cada texto en su propia columna y alinea las líneas que se corresponden.
Copiar como unified diff genera el formato de diff -u y git diff. Los cambios se agrupan en bloques (hunks) con tres líneas de contexto sin cambios alrededor. Cada bloque empieza con una cabecera como @@ -1,7 +1,8 @@, que se lee así: siete líneas a partir de la línea 1 del original se corresponden con ocho líneas a partir de la línea 1 del texto modificado.
La línea \ No newline at end of file forma parte del formato. Aparece cuando un texto no termina con un salto de línea, para que un parche pueda reproducir el archivo exactamente. Las vistas de la página ignoran esa diferencia, porque una última línea que parece idéntica no debería aparecer como cambiada.
No. La comparación la hace JavaScript en la pestaña de tu navegador. La herramienta no hace ninguna petición de red con lo que pegas, y la política de seguridad del sitio bloquea las peticiones a cualquier otro host.
Normalmente la diferencia no se ve: espacios al final de la línea, un tabulador en lugar de espacios, un espacio de no separación o una letra con tilde guardada como dos caracteres en lugar de uno. Activa la opción de ignorar los cambios en los espacios para descartar las tres primeras.
Sí. Guárdalo en un archivo y ejecuta patch con el nombre del archivo que quieres cambiar, por ejemplo: patch notes.txt changes.diff. Si copiaste el diff con alguna opción de ignorar activada, las diferencias ignoradas no están en él, así que el archivo parcheado no coincidirá exactamente con el texto modificado.
Los textos de unos pocos miles de líneas se comparan en una fracción de segundo. La página muestra como máximo 5000 filas, mientras que el diff copiado siempre contiene todos los cambios. Con dos textos muy largos que no tienen casi nada en común, la búsqueda se interrumpe antes y el resultado puede ser más largo de lo necesario.
Se abre en su propia ventana y sigue funcionando sin conexión.
Para instalarla, toca el botón Compartir y luego «Añadir a pantalla de inicio».