forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 29.08.2020, 07:04
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию странный 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  
Старый 29.08.2020, 09:14
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 29.08.2020, 15:15
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию странный 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  
Старый 29.08.2020, 16:35
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 30.08.2020, 18:32
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию странный 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  
Старый 30.08.2020, 19:15
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 30.08.2020, 20:53
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию странный 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  
Старый 30.08.2020, 21:35
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 30.08.2020, 22:13
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию странный 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
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot