Оберон-клуб «ВЄДАsoft»
https://zx.oberon.org/forum/

BlackBox diffutils
https://zx.oberon.org/forum/viewtopic.php?f=34&t=446
Страница 1 из 1

Автор:  SovietPony [ 03 дек 2018, 18:48 ]
Заголовок сообщения:  BlackBox diffutils

Запилил сабж, аналог diff/patch из *nix. Пока как бета-версия т.к. снова нет времени на допил, надеюсь на следующей неделе допилить для более удобного использования.
https://deadsoftware.ru/gitweb?p=bbdiff.git

Автор:  budden [ 04 дек 2018, 14:17 ]
Заголовок сообщения:  Re: BlackBox diffutils

А некоторые просто держат документы в текстовых форматах :)

Автор:  SovietPony [ 04 дек 2018, 23:15 ]
Заголовок сообщения:  Re: BlackBox diffutils

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

Автор:  budden [ 04 дек 2018, 23:37 ]
Заголовок сообщения:  Re: BlackBox diffutils

Цитата:
или костылируют текстовый вариант бинарного документа

Для «документов» костылируем.
Вот так это выглядит. Но не изолентой сбоку, а прямо в самую серединку запихали.

Исходные тексты (Mod) у нас чисто текстовые. Из существенных потерь - потеря «ручной» раскраски, но у нас и на это есть костыль, комментарий особого вида, который Visual Studio Code обучена раскрашивать в синий цвет.

Разница состоит в том, что мы это уже сделали. Оно несовершенно, да. Но оно в принципе достаточно хорошо, чтобы им можно было пользоваться и закрыть эту зияющую дыру. И видеть историю изменений в инструментах типа gitlab, tortoisegit. Хранить в гите файлы экономно (гит не любит меняющиеся двоичные файлы). Т.е. у нас оно не просто сделано, а достаточно гладко внедрено в процессы.

Также отмечу, что в Дельфи изначально были бинарные dfm-ы. Но они уже лет 100 назад поняли, что это плохо и перешли на текстовые. Наш текстовый формат - это эрзац для бедных. Мы сразу понимали, что у нас нет ресурсов сделать хорошо и эта версия тоже должна быть промежуточной. По хорошему, нужно превращать в какие-нибудь html/xml и делать это достаточно аккуратно и тщательно. Но это выше наших возможностей - из возможного мы сделали лучшее, как я считаю.

Но я, в общем-то, не агитирую.

И на всякий случай, Вы знаете, что в ББ есть визуальное сравнение пары файлов?

Автор:  SovietPony [ 05 дек 2018, 11:08 ]
Заголовок сообщения:  Re: BlackBox diffutils

1) Мне текстовый формат не интересен, тем более с кирилицей в структуре.
2) У меня тоже аналоги patch и diff уже сделаны, не идеально, но оно тоже работает. При желании их можно использовать по назначению. На них я потратил всего три дня(мой стандартный срок на рабочий прототип).
3) Моей целью не было обеспечивать сравнение в гите как есть. Меня гит пока что вообще не интересует. Моей целью было сделать именно diff и patch для бинарных документов.
budden писал(а):
И на всякий случай, Вы знаете, что в ББ есть визуальное сравнение пары файлов?
Это которое F9? Это херня на палке, а не визуальное сравнение. Это тоже было одной из причин почему я сделал велосипед, но не основной.

Автор:  budden [ 05 дек 2018, 17:42 ]
Заголовок сообщения:  Re: BlackBox diffutils

Ну, как хотите (я особо и не рассчитывал, но нельзя же было промолчать :) ). Хотя на мой взгляд игнорировать контроль версий не вполне разумно.

Автор:  SovietPony [ 05 дек 2018, 19:54 ]
Заголовок сообщения:  Re: BlackBox diffutils

Причём тут контроль версий?

Автор:  budden [ 05 дек 2018, 22:52 ]
Заголовок сообщения:  Re: BlackBox diffutils

Отреагировал на "Меня гит пока что вообще не интересует."

Автор:  SovietPony [ 14 дек 2018, 23:01 ]
Заголовок сообщения:  Re: BlackBox diffutils

Добавил реализацю three-way merge, ака diff3. Реализация корявая, но работает.
Надо ещё реализовать алгоритм Patience Diff, что бы не только получать более компактные диффы, но и более качественные кофликты при слиянии.

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/