#1
|
|||
|
|||
странный diff
Victor Sudakov написал(а) к All в Aug 20 09:18:56 по местному времени:
Dear All, Есть два файлика-отчета от iozone - идентичных по количеству строк и тексту в них. Отличаются только числами в строках: http://admin.sibptus.ru/~vas/strange_diff.zip Как вы думаете, почему diff/sdiff/meld и прочие считают, что между этими файлами есть различия в виде вставки и удаления строк? И только kdiff3 разобрался в вопросе правильно, удаления или вставки строк не обнаруживает. Наткнулся я на это случайно при визуальном сравнении отчетов, теперь вот думаю, сколько нам еще открытий чудных... Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20170303-b20170303 |
#2
|
|||
|
|||
Re: странный diff
Eugene Grosbein написал(а) к Victor Sudakov в Aug 20 11:52:12 по местному времени:
29 авг. 2020, суббота, в 09:18 NOVT, Victor Sudakov написал(а): VS> Есть два файлика-отчета от iozone - идентичных по количеству строк и тексту в VS> них. Отличаются только числами в строках: VS> http://admin.sibptus.ru/~vas/strange_diff.zip VS> Как вы думаете, почему diff/sdiff/meld и прочие считают, что между этими VS> файлами есть различия в виде вставки и удаления строк? И только kdiff3 VS> разобрался в вопросе правильно, удаления или вставки строк не обнаруживает. VS> Наткнулся я на это случайно при визуальном сравнении отчетов, теперь вот думаю, VS> сколько нам еще открытий чудных... Про meld ничего не могу сказать, впервые про него слышу. А насчет diff/sdiff - вопрос странный, всё зависит от того, который формат вывода ты хочешь и почему тебя удивляют "вставки и удаления строк", для diff -u ничего другого кроме "вставок и удалений" в выдаче и быть не может. Приложив некоторе телепатическое усилие, предположу, что на самом деле ты хотел видеть "более красивый" вид, который даёт на данных файлах режим diff -du (или sdiff -d), он же "минимальный diff". Eugene -- Тестоголовые кислое свое брожение приняли за душу, распарывание чрев своих - за историю, средства, оттягивающие разложение - за цивилизацию... --- slrn/1.0.3 (FreeBSD) |
#3
|
|||
|
|||
странный diff
Victor Sudakov написал(а) к Eugene Grosbein в Aug 20 17:26:02 по местному времени:
Dear eugen, 29 Aug 20 11:52, Eugene Grosbein wrote to me: VS>> Есть два файлика-отчета от iozone - идентичных по количеству VS>> строк и тексту в них. Отличаются только числами в строках: VS>> http://admin.sibptus.ru/~vas/strange_diff.zip VS>> Как вы думаете, почему diff/sdiff/meld и прочие считают, что VS>> между этими файлами есть различия в виде вставки и удаления VS>> строк? И только kdiff3 разобрался в вопросе правильно, удаления VS>> или вставки строк не обнаруживает. Наткнулся я на это случайно VS>> при визуальном сравнении отчетов, теперь вот думаю, сколько нам VS>> еще открытий чудных... EG> Про meld ничего не могу сказать, впервые про него слышу. В архиве по ссылке выше скриншот. EG> А насчет diff/sdiff - вопрос странный, всё зависит от того, EG> который формат вывода ты хочешь и почему тебя удивляют "вставки и EG> удаления строк", для diff -u ничего другого кроме "вставок и удалений" EG> в выдаче и быть не может. EG> Приложив некоторе телепатическое усилие, предположу, что на самом деле EG> ты хотел видеть "более красивый" вид, который даёт на данных файлах EG> режим diff -du (или sdiff -d), он же "минимальный diff". В общем-то по скриншоту в архиве нетрудно понять, что я имею в виду под удалением и вставкой строк там, где нет удаления и вставки строк (а есть только замена одних строк на другие). Но ты меня сильно удивил, что не видишь проблемы в выдаче текстовых утилит. Вот глянь сюда: https://termbin.com/fbro - не видишь разве сбой начиная с 24-й строки вывода sdiff, а потом сбой в обратную сторону начиная с 70-й строки? Еще грубее - по смыслу не должно быть в этом sdiff-е символов "<" или ">", а одни только сплошные "|". Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20170303-b20170303 |
#4
|
|||
|
|||
Re: странный diff
Eugene Grosbein написал(а) к Victor Sudakov в Aug 20 19:24:01 по местному времени:
29 авг. 2020, суббота, в 17:26 NOVT, Victor Sudakov написал(а): VS> Но ты меня сильно удивил, что не видишь проблемы в выдаче текстовых утилит. Вот VS> глянь сюда: https://termbin.com/fbro - не видишь разве сбой начиная с 24-й VS> строки вывода sdiff, а потом сбой в обратную сторону начиная с 70-й строки? Еще VS> грубее - по смыслу не должно быть в этом sdiff-е символов "<" или ">", а одни VS> только сплошные "|". Так ты попробовал sdiff -d ? Лично я не пользуюсь форматом side-by-side, моим глазкам сложно его охватывать, мне гораздо более удобен unified diff, который, впрочем, тоже подвержен этому моменту и этот вид тоже имеет вариант diff -du Eugene --- slrn/1.0.3 (FreeBSD) |
#5
|
|||
|
|||
странный diff
Victor Sudakov написал(а) к eugen в Aug 20 21:02:44 по местному времени:
Dear eugen, 29 Aug 20 19:24, Eugene Grosbein wrote to me: VS>> Но ты меня сильно удивил, что не видишь проблемы в выдаче VS>> текстовых утилит. Вот глянь сюда: https://termbin.com/fbro - не VS>> видишь разве сбой начиная с 24-й строки вывода sdiff, а потом VS>> сбой в обратную сторону начиная с 70-й строки? Еще грубее - по VS>> смыслу не должно быть в этом sdiff-е символов "<" или ">", а одни VS>> только сплошные "|". EG> Так ты попробовал sdiff -d ? То, что ты видишь в termbin по ссылке выше - это вывод sdiff -sd Оно тебе как? EG> Лично я не пользуюсь форматом side-by-side, моим глазкам сложно EG> его охватывать, мне гораздо более удобен unified diff, EG> который, впрочем, тоже подвержен этому моменту и этот EG> вид тоже имеет вариант diff -du Эта странность и в unified diff будет присутствовать, её там просто сложнее заметить. Но если знать что искать - видно. См. в р-не 59-й строки вывода diff -du. Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20170303-b20170303 |
#6
|
|||
|
|||
Re: странный diff
Eugene Grosbein написал(а) к Victor Sudakov в Aug 20 22:00:29 по местному времени:
30 авг. 2020, воскресенье, в 21:02 NOVT, Victor Sudakov написал(а): VS>>> Но ты меня сильно удивил, что не видишь проблемы в выдаче VS>>> текстовых утилит. Вот глянь сюда: https://termbin.com/fbro - не VS>>> видишь разве сбой начиная с 24-й строки вывода sdiff, а потом VS>>> сбой в обратную сторону начиная с 70-й строки? Еще грубее - по VS>>> смыслу не должно быть в этом sdiff-е символов "<" или ">", а одни VS>>> только сплошные "|". EG>> Так ты попробовал sdiff -d ? VS> То, что ты видишь в termbin по ссылке выше - это вывод sdiff -sd VS> Оно тебе как? Из-за процитированного ниже оно мне никак :-) EG>> Лично я не пользуюсь форматом side-by-side, моим глазкам сложно EG>> его охватывать, мне гораздо более удобен unified diff, EG>> который, впрочем, тоже подвержен этому моменту и этот EG>> вид тоже имеет вариант diff -du VS> Эта странность и в unified diff будет присутствовать, её там просто сложнее VS> заметить. Но если знать что искать - видно. См. в р-не 59-й строки вывода diff VS> -du. Какая-то особенность алгоритма поиска отличий. Если тебе оно не безразлично, можешь поискать статью, описывающую этот алгоритм, когда-то давно я натыкался на неё, но вчитываться не стал за отсутствием интереса и недостатком времени. Eugene --- slrn/1.0.3 (FreeBSD) |
#7
|
|||
|
|||
странный diff
Victor Sudakov написал(а) к eugen в Aug 20 23:18:28 по местному времени:
Dear eugen, 30 Aug 20 22:00, Eugene Grosbein wrote to me: VS>>>> Но ты меня сильно удивил, что не видишь проблемы в выдаче VS>>>> текстовых утилит. Вот глянь сюда: https://termbin.com/fbro - не VS>>>> видишь разве сбой начиная с 24-й строки вывода sdiff, а потом VS>>>> сбой в обратную сторону начиная с 70-й строки? Еще грубее - по VS>>>> смыслу не должно быть в этом sdiff-е символов "<" или ">", а VS>>>> одни только сплошные "|". EG>>> Так ты попробовал sdiff -d ? VS>> То, что ты видишь в termbin по ссылке выше - это вывод sdiff -sd VS>> Оно тебе как? EG> Из-за процитированного ниже оно мне никак :-) EG>>> Лично я не пользуюсь форматом side-by-side, моим глазкам сложно EG>>> его охватывать, мне гораздо более удобен unified diff, EG>>> который, впрочем, тоже подвержен этому моменту и этот EG>>> вид тоже имеет вариант diff -du VS>> Эта странность и в unified diff будет присутствовать, её там VS>> просто сложнее заметить. Но если знать что искать - видно. См. в VS>> р-не 59-й строки вывода diff -du. EG> Какая-то особенность алгоритма поиска отличий. Нифига себе "особенность". Легко могу себе представить, как эта "особенность" может сбить с толку при слиянии кода. EG> Если тебе оно не EG> безразлично, можешь поискать статью, описывающую этот алгоритм, EG> когда-то давно я натыкался на неё, но вчитываться не стал за EG> отсутствием интереса и недостатком времени. А в kdiff3 алгоритм другой что ли? Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20170303-b20170303 |
#8
|
|||
|
|||
Re: странный diff
Eugene Grosbein написал(а) к Victor Sudakov в Aug 20 00:05:57 по местному времени:
30 авг. 2020, воскресенье, в 23:18 NOVT, Victor Sudakov написал(а): EG>> Какая-то особенность алгоритма поиска отличий. VS> Нифига себе "особенность". Легко могу себе представить, как эта "особенность" VS> может сбить с толку при слиянии кода. При автоматическом накладывании патча из diff? Но ведь эта особенность не влияет на корректность diff-а. EG>> Если тебе оно не EG>> безразлично, можешь поискать статью, описывающую этот алгоритм, EG>> когда-то давно я натыкался на неё, но вчитываться не стал за EG>> отсутствием интереса и недостатком времени. VS> А в kdiff3 алгоритм другой что ли? Может и другой. А может тот же, но иначе настроенный, там параметры всякие есть. Eugene -- Народу - чтоб не вздумал бунтовать! - Мы тоже разрешили воровать. Пусть лучше сам ворует потихоньку, Чем с воровскою властью враждовать!.. --- slrn/1.0.3 (FreeBSD) |
#9
|
|||
|
|||
странный diff
Victor Sudakov написал(а) к eugen в Aug 20 00:48:30 по местному времени:
Dear eugen, 31 Aug 20 00:05, Eugene Grosbein wrote to me: EG>>> Какая-то особенность алгоритма поиска отличий. VS>> Нифига себе "особенность". Легко могу себе представить, как эта VS>> "особенность" может сбить с толку при слиянии кода. EG> При автоматическом накладывании патча из diff? Но ведь эта особенность EG> не влияет на корректность diff-а. Нет, не при накладывании патча, а при merge веток в системе контроля версий. Особенно если конфликт и слияние вручную - тогда важно видеть, имеем мы дело с добавлением какого-то куска кода или изменением в той же самой строке/строках. EG>>> Если тебе оно не EG>>> безразлично, можешь поискать статью, описывающую этот алгоритм, EG>>> когда-то давно я натыкался на неё, но вчитываться не стал за EG>>> отсутствием интереса и недостатком времени. VS>> А в kdiff3 алгоритм другой что ли? EG> Может и другой. А может тот же, но иначе настроенный, EG> там параметры всякие есть. Параметры всякие есть, но я не нашел в meld такой настройки, чтобы стал показывать то же, что kdiff3. И соответственно kdiff3 до состояния meld мне поломать не удалось (но у него другие недостатки есть). Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20170303-b20170303 |