OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 22 Октябрь, 2017 22:12

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




Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 13:21 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2910
Откуда: г. Ярославль
Роман М. писал(а):
Сегодня мы имеем широкий набор инструментов для отслеживания версий документов и грех не пользоваться их преимуществами.
Сегодня полно других языков и платформ, зачем Вам именно ББ?

P.S. Я не троллю, я серьёзно спрашиваю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 13:37 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2401
Откуда: Россия, Ярославль
Роман, ваша задача подразумевает замену интерфейса Stores.Reader/Stores.Writer с потокового на структурный, а на эту структурность уже натягиваются и xml (и остальные подобные форматы) и дифф и слияние. Правильно я понимаю?
UPD: насколько я понял, проблема состоит в том, что в xml минимальная единица это ветка (Node), то есть, для записи даже самой минимальной информации необходима целая ветка определённого типа. В бинарном формате, таком как .odc минимальная единица это байт. Поэтому не получится превратить xml в хранилище бинарного формата данных, как не получится интерфейс Stores ограничить структурными единицами.

В целом, конечно, ничего не мешает совершить поступательное развитие, и сначала обернуть бинарные данные odc с помощью xml-контейнера, затем на этот xml-контейнер надстроить базовый XmlStore с базовыми записывателями, и уже на основе этого продолжить развитие цепочки наследования XmlStore -> XmlView -> ContainerXmlView -> TextXmlView, к этому времени обеспечить механизмы работы всех звеньев цепочки, а старый бинарный Store и его наследников объявить устаревшими и в конце концов отправить на пенсию. Других сценариев я не вижу. Получится наш ответ ODF, хы-хы, все желающие могут ознакомиться с бегунками по структурам в подсистеме Odf, ничего сложного в общем-то.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 18:27 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Иван Кузьмицкий писал(а):
Ложь. Исходники ББ созданы в одном стиле, следуя указанным в документации соглашениям. Проблемы же стиля, принятые в организации, можно решить либо технически (как я чуть выше указал), либо организационно - наказывая рублём за отступление от соглашений. В любом случае, это не настоящие проблемы и офтопик.

Я имел в виду не только исходники каркаса. Перед тем кидаться такими утверждениями убедитесь что правильно поняли сообщение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 18:41 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
Как мне кажется, любителям простого текста нужно раз и навсегда уяснить: формат хранения исходников в BlackBox - бинарный, внутренний. Это неотъемлемая, фундаментальная, особенность BlackBox и так должно оставаться. Если хочется по-другому, то это уже не BlackBox. Если хочется в нём, то только так и никак иначе.

А прикручивать конвертеры к git, чтобы было удобно работать с ним --- всегда пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 20:58 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Всему Оберон сообществу пора уяснить, что не они придумали Оберон и не им судить о том что правильно в Оберон-системах, а что нет. Тут у каждого своя имха. Причины по которым так было сделано в оригинальном Обероне вам описал Роман.

Хватит уже. Вы не носители тайных знаний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:00 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8822
Откуда: Россия, Орёл
Дело не тольков раскраске, шрифтах... (тут и правда, кроме плюсов - семантического выделения, могут быть некоторые моменты "наследования" чужого "странного" оформления).

Про "вьюшки-вспомогалки" уже говорили.
Кстати, ведь от исходников мы плавно перейдём к теме документации! Кстати, там, дейтсвительно, авто-слияние имеет смысл, как уже отвечали...
И возврат в документации от составных документов к обычному тексту - вот это каменный век.
Те же фольды - я не представляю, как без них жить можно ))

Да и в исходниках. Допустим, в составной документ я могу вложить специальные вьюшки, по которым генерировать затем код перед подачей компилятору...
Кстати, хороший пример, как в ББ без изменения языка можно поддержать переносы строк внутри кавычек (если вам нужно много "закавычкивать" исходных текстов, типа SQL и генерируемого HTML): просто делается вьюшка, которая игнорируется компилятором, но повелевает перевести строку в документе...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:08 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Документацию конечно в odc оставить. Речь шла только об исходном коде.
Чтобы сливать документацию придётся свой структурный формат придумать типа xml, иначе это будет гемор а не слияние.

Фолды можно и без odc делать. А вьюшки управляющие кодом имхо зло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:10 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8822
Откуда: Россия, Орёл
А всё, в конечном счёте, из-за не столь нужной фичи автослияния ))

Потому что чисто для отслеживания истории изменений легко сделать тулзу на базе непосредственно ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:18 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Каким образом? И зачем? За вас уже все придумали и обкатали на практике годами. Вы ведь в итоге тот же гит и изобретете :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:25 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1521
Откуда: Беларусь, Минск
Когда работаю с гитом, то часто накатывает желание написать что-нибудь удобное вместо него. Так что я не знаю, кто там что придумал и обкатал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:35 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
У меня тоже такое желание иногда возникает, но я сомневаюсь, что у меня хватит мозгов переплюнуть такую систему как гит или меркуриал.

Почитайте про историю систем контроля версий. Очень вероятно что вам придётся её повторить :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:41 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1157
Откуда: Tel-Aviv
Илья Ермаков писал(а):
А всё, в конечном счёте, из-за не столь нужной фичи автослияния ))

Потому что чисто для отслеживания истории изменений легко сделать тулзу на базе непосредственно ББ.
Это и является целью темы. Чтобы при я мог вручную слить два документа в третий, в Блэкбоксе.

ilovb писал(а):
Каким образом? И зачем? За вас уже все придумали и обкатали на практике годами. Вы ведь в итоге тот же гит и изобретете :-)
Не, не так. Речь идёт не о системе контроля версий в самом ББ, а только инстументе для сравнения изменений. То есть аналоге KDiff3, только на ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 21:48 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2910
Откуда: г. Ярославль
Роман М. писал(а):
Речь идёт не о системе контроля версий в самом ББ, а только инстументе для сравнения изменений. То есть аналоге KDiff3, только на ББ.
Нет-нет, такого нету. Напишите :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 22:07 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Роман М. писал(а):
То есть аналоге KDiff3, только на ББ.

И для ББ...
Могу указать направление откуда скомуниздить наработки https://code.google.com/p/google-diff-match-patch/

Еще могу показать как выглядит мердж в 1С, если интересно. Там тоже сложные форматы. В последней версии одинэснеги по просьбе трудящихся сделали выгрузку\загрузку всего прикладного решения в xml. Т.е. сейчас там даже формы можно мерджить с помощью всяких гитов с меркуриалами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 22:42 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1157
Откуда: Tel-Aviv
Пётр Кушнир писал(а):
Роман, ваша задача подразумевает замену интерфейса 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>

Как-то так...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 23:41 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
ilovb писал(а):
Всему Оберон сообществу пора уяснить, что не они придумали Оберон и не им судить о том что правильно в Оберон-системах, а что нет. Тут у каждого своя имха. Причины по которым так было сделано в оригинальном Обероне вам описал Роман.

Хватит уже. Вы не носители тайных знаний.

Борис, не надо передёргивать. Я высказался про вполне конкретное решение во вполне конкретном продукте, а не про все оберон-системы и не за всё сообщество.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 23:51 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Борис Рюмшин писал(а):
Борис, не надо передёргивать. Я высказался про вполне конкретное решение во вполне конкретном продукте, а не про все оберон-системы и не за всё сообщество.

Вы перечитайте свое сообщение. Не исключаю что я что-то не так понял, но там вроде утверждается:
Цитата:
формат хранения исходников в BlackBox - бинарный, внутренний. Это неотъемлемая, фундаментальная, особенность BlackBox и так должно оставаться. Если хочется по-другому, то это уже не BlackBox. Если хочется в нём, то только так и никак иначе.


Подача утверждения такая, будто это истина в последней инстанции. И при этом вам кажется, что нам это пора уяснить.

С какого перепуга нам "уяснять" ваших тараканов?

Запомните раз и на всегда: истиной не владеет никто. Есть два мнения и есть компромисс.
Одно мнение без компромиссов - это фашизм.

Странно, что взрослым людям в очередной раз на это приходится намекать.

Цитата:
Способ, как творил Создатель,
Что считал Он боле кстати —
Знать не может председатель
Комитета о печати.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Суббота, 17 Август, 2013 00:00 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
Борис. Повторяю ещё раз: составные документы неотъемлемая часть фреймворка и основа BlackBox. Вы с эти не согласны? Или ЭТО НЕ ТАК?! Это моя фантазия?!

Это не касается: Компонентного Паскаля, консольного компилятора (и, заодно, GPCP), представления исходников в utf8, в XML, в чём ещё угодно. Хотите - делайте всё в плоском тексте. НИКТО НЕ МЕШАЕТ ТАК ДЕЛАТЬ. Но переделывать для этого BlackBox Component Builder не надо. Его смысл в том, что он есть сейчас.

Нужен другая IDE на КП и прочее, с "современными" средствами разработки? Да ради Бога! Если не хотите писать сами, вкрутите GPCP в Eclipse и наслаждайтесь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Суббота, 17 Август, 2013 00:06 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Представьте себе, ДА! Это ваша фантазия.
Также, как моя фантазия заключается в том, что ББ не более чем одна из версий S3. Было удобно раньше все в одном формате, но те времена прошли. Документа за печатью, датой и подписью магистра, о том где начинаются и заканчиваются границы истеннага ББ я не видел.
Права у меня на фантазию ни чем не хуже ваших.

ps И обратите внимание, что избавляться от составных документов вообще никто и не собирался. Речь идет только о модулях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Суббота, 17 Август, 2013 00:14 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
Эти документы - документация продукта. На данный момент она имеет версию 1.6rc6.

Обсуждение не конструктивно и плодит эмоции. Поэтому каждый пусть остаётся при своём мнении.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB