OberonCore https://forum.oberoncore.ru/ |
|
BlackBox Merge tool https://forum.oberoncore.ru/viewtopic.php?f=127&t=4431 |
Страница 2 из 4 |
Автор: | Иван Кузьмицкий [ Пятница, 16 Август, 2013 13:21 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Роман М. писал(а): Сегодня мы имеем широкий набор инструментов для отслеживания версий документов и грех не пользоваться их преимуществами. Сегодня полно других языков и платформ, зачем Вам именно ББ?P.S. Я не троллю, я серьёзно спрашиваю. |
Автор: | Пётр Кушнир [ Пятница, 16 Август, 2013 13:37 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Роман, ваша задача подразумевает замену интерфейса Stores.Reader/Stores.Writer с потокового на структурный, а на эту структурность уже натягиваются и xml (и остальные подобные форматы) и дифф и слияние. Правильно я понимаю? UPD: насколько я понял, проблема состоит в том, что в xml минимальная единица это ветка (Node), то есть, для записи даже самой минимальной информации необходима целая ветка определённого типа. В бинарном формате, таком как .odc минимальная единица это байт. Поэтому не получится превратить xml в хранилище бинарного формата данных, как не получится интерфейс Stores ограничить структурными единицами. В целом, конечно, ничего не мешает совершить поступательное развитие, и сначала обернуть бинарные данные odc с помощью xml-контейнера, затем на этот xml-контейнер надстроить базовый XmlStore с базовыми записывателями, и уже на основе этого продолжить развитие цепочки наследования XmlStore -> XmlView -> ContainerXmlView -> TextXmlView, к этому времени обеспечить механизмы работы всех звеньев цепочки, а старый бинарный Store и его наследников объявить устаревшими и в конце концов отправить на пенсию. Других сценариев я не вижу. Получится наш ответ ODF, хы-хы, все желающие могут ознакомиться с бегунками по структурам в подсистеме Odf, ничего сложного в общем-то. Лично я и вовсе не вижу в этом необходимости. Но против ничего не имею, сам иногда задумываюсь о том, что неплохо бы иметь базовый тип персистентных данных который не является бинарным. |
Автор: | ilovb [ Пятница, 16 Август, 2013 18:27 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Иван Кузьмицкий писал(а): Ложь. Исходники ББ созданы в одном стиле, следуя указанным в документации соглашениям. Проблемы же стиля, принятые в организации, можно решить либо технически (как я чуть выше указал), либо организационно - наказывая рублём за отступление от соглашений. В любом случае, это не настоящие проблемы и офтопик. Я имел в виду не только исходники каркаса. Перед тем кидаться такими утверждениями убедитесь что правильно поняли сообщение. |
Автор: | Борис Рюмшин [ Пятница, 16 Август, 2013 18:41 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Как мне кажется, любителям простого текста нужно раз и навсегда уяснить: формат хранения исходников в BlackBox - бинарный, внутренний. Это неотъемлемая, фундаментальная, особенность BlackBox и так должно оставаться. Если хочется по-другому, то это уже не BlackBox. Если хочется в нём, то только так и никак иначе. А прикручивать конвертеры к git, чтобы было удобно работать с ним --- всегда пожалуйста. |
Автор: | ilovb [ Пятница, 16 Август, 2013 20:58 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Всему Оберон сообществу пора уяснить, что не они придумали Оберон и не им судить о том что правильно в Оберон-системах, а что нет. Тут у каждого своя имха. Причины по которым так было сделано в оригинальном Обероне вам описал Роман. Хватит уже. Вы не носители тайных знаний. |
Автор: | Илья Ермаков [ Пятница, 16 Август, 2013 21:00 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Дело не тольков раскраске, шрифтах... (тут и правда, кроме плюсов - семантического выделения, могут быть некоторые моменты "наследования" чужого "странного" оформления). Про "вьюшки-вспомогалки" уже говорили. Кстати, ведь от исходников мы плавно перейдём к теме документации! Кстати, там, дейтсвительно, авто-слияние имеет смысл, как уже отвечали... И возврат в документации от составных документов к обычному тексту - вот это каменный век. Те же фольды - я не представляю, как без них жить можно )) Да и в исходниках. Допустим, в составной документ я могу вложить специальные вьюшки, по которым генерировать затем код перед подачей компилятору... Кстати, хороший пример, как в ББ без изменения языка можно поддержать переносы строк внутри кавычек (если вам нужно много "закавычкивать" исходных текстов, типа SQL и генерируемого HTML): просто делается вьюшка, которая игнорируется компилятором, но повелевает перевести строку в документе... |
Автор: | ilovb [ Пятница, 16 Август, 2013 21:08 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Документацию конечно в odc оставить. Речь шла только об исходном коде. Чтобы сливать документацию придётся свой структурный формат придумать типа xml, иначе это будет гемор а не слияние. Фолды можно и без odc делать. А вьюшки управляющие кодом имхо зло. |
Автор: | Илья Ермаков [ Пятница, 16 Август, 2013 21:10 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
А всё, в конечном счёте, из-за не столь нужной фичи автослияния )) Потому что чисто для отслеживания истории изменений легко сделать тулзу на базе непосредственно ББ. |
Автор: | ilovb [ Пятница, 16 Август, 2013 21:18 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Каким образом? И зачем? За вас уже все придумали и обкатали на практике годами. Вы ведь в итоге тот же гит и изобретете |
Автор: | Valery Solovey [ Пятница, 16 Август, 2013 21:25 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Когда работаю с гитом, то часто накатывает желание написать что-нибудь удобное вместо него. Так что я не знаю, кто там что придумал и обкатал. |
Автор: | ilovb [ Пятница, 16 Август, 2013 21:35 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
У меня тоже такое желание иногда возникает, но я сомневаюсь, что у меня хватит мозгов переплюнуть такую систему как гит или меркуриал. Почитайте про историю систем контроля версий. Очень вероятно что вам придётся её повторить |
Автор: | Роман М. [ Пятница, 16 Август, 2013 21:41 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Илья Ермаков писал(а): А всё, в конечном счёте, из-за не столь нужной фичи автослияния )) Это и является целью темы. Чтобы при я мог вручную слить два документа в третий, в Блэкбоксе.Потому что чисто для отслеживания истории изменений легко сделать тулзу на базе непосредственно ББ. ilovb писал(а): Каким образом? И зачем? За вас уже все придумали и обкатали на практике годами. Вы ведь в итоге тот же гит и изобретете Не, не так. Речь идёт не о системе контроля версий в самом ББ, а только инстументе для сравнения изменений. То есть аналоге KDiff3, только на ББ.
|
Автор: | Иван Кузьмицкий [ Пятница, 16 Август, 2013 21:48 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Роман М. писал(а): Речь идёт не о системе контроля версий в самом ББ, а только инстументе для сравнения изменений. То есть аналоге KDiff3, только на ББ. Нет-нет, такого нету. Напишите
|
Автор: | ilovb [ Пятница, 16 Август, 2013 22:07 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Роман М. писал(а): То есть аналоге KDiff3, только на ББ. И для ББ... Могу указать направление откуда скомуниздить наработки https://code.google.com/p/google-diff-match-patch/ Еще могу показать как выглядит мердж в 1С, если интересно. Там тоже сложные форматы. В последней версии одинэснеги по просьбе трудящихся сделали выгрузку\загрузку всего прикладного решения в xml. Т.е. сейчас там даже формы можно мерджить с помощью всяких гитов с меркуриалами. |
Автор: | Роман М. [ Пятница, 16 Август, 2013 22:42 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Пётр Кушнир писал(а): Роман, ваша задача подразумевает замену интерфейса Stores.Reader/Stores.Writer с потокового на структурный, а на эту структурность уже натягиваются и xml (и остальные подобные форматы) и дифф и слияние. Правильно я понимаю? UPD: насколько я понял, проблема состоит в том, что в xml минимальная единица это ветка (Node), то есть, для записи даже самой минимальной информации необходима целая ветка определённого типа. В бинарном формате, таком как .odc минимальная единица это байт. Поэтому не получится превратить xml в хранилище бинарного формата данных, как не получится интерфейс Stores ограничить структурными единицами. В целом, конечно, ничего не мешает совершить поступательное развитие, и сначала обернуть бинарные данные odc с помощью xml-контейнера, затем на этот xml-контейнер надстроить базовый XmlStore с базовыми записывателями, и уже на основе этого продолжить развитие цепочки наследования XmlStore -> XmlView -> ContainerXmlView -> TextXmlView, к этому времени обеспечить механизмы работы всех звеньев цепочки, а старый бинарный Store и его наследников объявить устаревшими и в конце концов отправить на пенсию. Других сценариев я не вижу. Получится наш ответ ODF, хы-хы, все желающие могут ознакомиться с бегунками по структурам в подсистеме Odf, ничего сложного в общем-то. Лично я и вовсе не вижу в этом необходимости. Но против ничего не имею, сам иногда задумываюсь о том, что неплохо бы иметь базовый тип персистентных данных который не является бинарным. Если исходить из того, что мы не имеем встроенных в ББ средств сравнения составных документов, то примитивным решением является сериализация единиц View в закодированную последовательность (допустим, в StdCoder). Таким образом, для этого в ББ потребуется обеспечить два механизма: сериализацию и десериализацию. Так станет возможным временно вставить закодированный кусок в ББ для его последующей раскодировки и отображения (допустим, формы диалога) и затем вернуться во внешний (примитивный, на тексте) инструмент сравнения, чтобы произвести слияние выбранных частей. Код: <body> Как-то так...
Text Text<para/>Text <view type="OleClient.View"> <data> DLKHFLNLKCHcdscsad875875... </data> <view type="HostPictures.StdView"> <data> BVKJSDhF99797... </data> </view> </view> Text Text Text <view type="TextViews.View"> <data> KCJGSKJGsdfsdsdd6s... </data> </view> </body> |
Автор: | Борис Рюмшин [ Пятница, 16 Август, 2013 23:41 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
ilovb писал(а): Всему Оберон сообществу пора уяснить, что не они придумали Оберон и не им судить о том что правильно в Оберон-системах, а что нет. Тут у каждого своя имха. Причины по которым так было сделано в оригинальном Обероне вам описал Роман. Хватит уже. Вы не носители тайных знаний. Борис, не надо передёргивать. Я высказался про вполне конкретное решение во вполне конкретном продукте, а не про все оберон-системы и не за всё сообщество. |
Автор: | ilovb [ Пятница, 16 Август, 2013 23:51 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Борис Рюмшин писал(а): Борис, не надо передёргивать. Я высказался про вполне конкретное решение во вполне конкретном продукте, а не про все оберон-системы и не за всё сообщество. Вы перечитайте свое сообщение. Не исключаю что я что-то не так понял, но там вроде утверждается: Цитата: формат хранения исходников в BlackBox - бинарный, внутренний. Это неотъемлемая, фундаментальная, особенность BlackBox и так должно оставаться. Если хочется по-другому, то это уже не BlackBox. Если хочется в нём, то только так и никак иначе. Подача утверждения такая, будто это истина в последней инстанции. И при этом вам кажется, что нам это пора уяснить. С какого перепуга нам "уяснять" ваших тараканов? Запомните раз и на всегда: истиной не владеет никто. Есть два мнения и есть компромисс. Одно мнение без компромиссов - это фашизм. Странно, что взрослым людям в очередной раз на это приходится намекать. Цитата: Способ, как творил Создатель,
Что считал Он боле кстати — Знать не может председатель Комитета о печати. |
Автор: | Борис Рюмшин [ Суббота, 17 Август, 2013 00:00 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Борис. Повторяю ещё раз: составные документы неотъемлемая часть фреймворка и основа BlackBox. Вы с эти не согласны? Или ЭТО НЕ ТАК?! Это моя фантазия?! Это не касается: Компонентного Паскаля, консольного компилятора (и, заодно, GPCP), представления исходников в utf8, в XML, в чём ещё угодно. Хотите - делайте всё в плоском тексте. НИКТО НЕ МЕШАЕТ ТАК ДЕЛАТЬ. Но переделывать для этого BlackBox Component Builder не надо. Его смысл в том, что он есть сейчас. Нужен другая IDE на КП и прочее, с "современными" средствами разработки? Да ради Бога! Если не хотите писать сами, вкрутите GPCP в Eclipse и наслаждайтесь. |
Автор: | ilovb [ Суббота, 17 Август, 2013 00:06 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Представьте себе, ДА! Это ваша фантазия. Также, как моя фантазия заключается в том, что ББ не более чем одна из версий S3. Было удобно раньше все в одном формате, но те времена прошли. Документа за печатью, датой и подписью магистра, о том где начинаются и заканчиваются границы истеннага ББ я не видел. Права у меня на фантазию ни чем не хуже ваших. ps И обратите внимание, что избавляться от составных документов вообще никто и не собирался. Речь идет только о модулях. |
Автор: | Борис Рюмшин [ Суббота, 17 Август, 2013 00:14 ] |
Заголовок сообщения: | Re: BlackBox Merge tool |
Эти документы - документация продукта. На данный момент она имеет версию 1.6rc6. Обсуждение не конструктивно и плодит эмоции. Поэтому каждый пусть остаётся при своём мнении. |
Страница 2 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |