[personal profile] chabapok
Кто бы мог подумать, но существуют такие текстовые файлы, которые не могут корректно сравнить и слить ни meld, ни kdiff3 ни diffuse ни даже хваленный виндозный араксис мэрж, и diff который нетбинсе - в ту же топку. Крышу сносит всем и под любой операционкой, при том что на 80% файлы одинаковы.

Я бы привел пример, но к сожалению, когда что-то в файлах меняешь хоть 1 символ, то все эти утилиты внезапно начинают работать более корректно.

По всей видимости, баги происходят от того, что для слития требуется одновременное сравнение как построчно, так и посимвольно, однако, к примеру, meld плющит и там где наблюдается посимвольное совпадение. Тупо в самом начале файла 20символов совпадают, а он их подсвечивает как разные. Лезеш в конец файла, меняешь там символ - начинает показывать совпадение в начале. Барабашка.

Сижу пишу собственный diff. Трындец.

Date: 2012-12-08 10:32 am (UTC)
From: [identity profile] chabapok.livejournal.com
Да вобщем-то, файлы как файлы. Впринципе ничего военного, но по отношению к заказчику показывать их наверное было бы некорректно. Если бы не это - я бы показал их сразу. Но раз есть интересующиеся - может туда ближе к вечеру набросаю скриптик, видоизменю их хоть немножко и покажу.

В meld я про один из багов (в других утилитах такой баг не встречается) отписал в багрепорт, и мне ответили, что это вовсе не бага а фича, причем, сделаная для моего же блага - чтобы комп не тормозил. Если есть частично совпадающий большой кусок, то начиная с некоторого размера посимвольное сранение отключается. Вот такая бага для блага. :) Но это только в meld воспроизводится.

https://bugzilla.gnome.org/show_bug.cgi?id=689855

там приаттачен пример, но в нем все поредактировано и лишнее поерзано. Так что это уже совсем не те файлы. Но вобщем суть та же. В одном файле есть строки вида

строка =значение
строка =

В другом все без значений:

строка =

Но таких строк больше. Diff-ом планировалось дополнительные строки из файла 2 добавить в файл 1, не потеряв при этом то, что там есть после знака =

То есть задача состояла в слиянии не только строк, но и их частей. У большинства редакторов с этим туго. Проще своим скриптом.

February 2026

S M T W T F S
123 4567
891011 121314
15161718192021
22232425262728

Style Credit

Expand Cut Tags

No cut tags