Язык: Русский

tools / diff

diff/

Построчное сравнение двух текстов: добавленные и удаленные строки подсвечиваются в едином представлении.

Исходный текст

Новый текст

Различия

Частые вопросы

Как читать два столбца с номерами строк и знаки + / -? Есть ли вид «рядом»?

Каждая строка начинается с двух номеров: первый — номер строки в «Исходный текст», второй — в «Новый текст». Строки, начинающиеся с -, есть только в исходном тексте (удалены), строки с + есть только в новом (добавлены), а строки без знака одинаковы в обоих. Числа +N -N рядом с заголовком «Различия» — количество добавленных и удаленных строк. Есть только этот единый вид, без режима «рядом», и все неизмененные строки тоже показываются.

Я изменил одно слово в строке. Почему помечена вся строка?

Инструмент сравнивает строки целиком и не подсвечивает, какие слова внутри строки изменились. Если в строке что-то поменялось, старая строка показывается как удаленная, а новая — как добавленная (сначала удаленная). Чтобы увидеть, что именно изменилось, разбейте строку на несколько строк по знакам препинания или пробелам и сравните еще раз. Абзац, который переместили, отображается как одно удаление и одно добавление.

Добавления и удаления перепутаны. Что делать?

Старую версию вставьте в поле «Исходный текст», новую — в поле «Новый текст». Если вставили наоборот, нажмите «⇄ Поменять местами»: добавления и удаления поменяются местами.

Как сделать, чтобы различия только в пробелах, отступах или символах конца строки не учитывались?

Разные символы конца строки (Windows, Mac, Linux) различиями не считаются, как и один лишний перевод строки в конце текста. Пробелы и отступы в начале и конце строки не учитываются, если отметить «Игнорировать пробелы по краям строки». Пробелы в середине строки, табуляция вместо пробелов и лишние пустые строки по-прежнему считаются различиями. Параметр «Без учета регистра» действует на всю строку.

Какой объем текста можно сравнить? Почему пишет «Слишком много строк» или приостанавливает сравнение в реальном времени?

На каждой стороне допускается не более 50 000 строк; если их больше, появится сообщение «Слишком много строк» и сравнения не будет. Когда обе стороны вместе превышают 500 000 символов, сравнение во время ввода отключается и нужно нажать «Сравнить». Отображаются только первые 20 000 строк результата, об остальных выводится одно сообщение; счетчики +N -N вверху учитывают все строки.

Что означает сообщение «Расчет занял больше 3 с, поэтому часть различий показана как замена целых блоков»?

Если два длинных текста сильно различаются, поиск кратчайшего набора изменений может идти медленно. Через 3 секунды то, что не успели посчитать, показывается как один удаленный блок и один добавленный. Результат остается верным, он просто может быть не самым коротким описанием изменений.

Совпадает ли результат с git diff? Можно ли экспортировать патч?

Подход тот же, но полного совпадения не гарантируется. Оба сравнивают построчно алгоритмом Myers (он используется в git diff по умолчанию), но если есть несколько одинаково коротких наборов изменений, выбранный может отличаться. Здесь нет заголовков блоков @@, показываются все неизмененные строки и нельзя экспортировать патч; при копировании выделенного результата номера строк и знаки +/- не копируются.

Отправляются ли сравниваемые код и текст на сервер?

Нет. Сравнение выполняется в вашем браузере, страница не отправляет ваше содержимое на сервер и не сохраняет введенное локально.