Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 19:56

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: BlackBox diffutils
СообщениеДобавлено: 03 дек 2018, 18:48 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 04 дек 2018, 14:17 
Не в сети

Сообщения: 350
А некоторые просто держат документы в текстовых форматах :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 04 дек 2018, 23:15 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 04 дек 2018, 23:37 
Не в сети

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

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

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

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

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

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

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 05 дек 2018, 11:08 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 05 дек 2018, 17:42 
Не в сети

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 05 дек 2018, 19:54 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Причём тут контроль версий?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 05 дек 2018, 22:52 
Не в сети

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: BlackBox diffutils
СообщениеДобавлено: 14 дек 2018, 23:01 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club