OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 01:31

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




Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Среда, 02 Ноябрь, 2011 11:42 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
Надо будет, наверное, удалить из FibApi вызовы WinApi, переделав динамическую загрузку dll/.so на статическую...
Поддерживаю (если я Вас правильно понял). Сделать и использовать интерфейсный модуль для внешней библиотеки в ББ более естественно. Загрузка останется динамической, только будет переложена на Kernel (не нужна FibApi.LoadLib и т.п.).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 03 Ноябрь, 2011 05:58 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Вырезал из FibDriver HostCmds, пример отрабатывает нормально, линковка производится с маленьким
списком модулей
Код:
DevElfLinker.LinkDll libBBFB.so := Kernel+ Log Math Strings LinSimpleLog

Dates Files Services Dialog Fonts Ports Stores Sequencers Models Meta Converters Views
Controllers Properties Mechanisms Containers

SqlDrivers SqlDB FibApi FibMisc FibErrors FibDriver

DbtstT#



Library libBBFB.so written: 509488 167379

Теперь надо будет переделать FibApi на портируемый вариант
Код:
 MODULE FibApiWinLin [cc"fbclient.dll""libfbclient.so"] ...
,
убрать проверки загрузки клиентской dll в других модулях
и добиться нормальной работы в Windows, что создаст плацдарм для дальнейшего использования в Linux.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 03 Ноябрь, 2011 12:31 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Переделка FibApi видится в четыре этапа

1. Вынести дополнительные функции, имеющие реализацию в модуле FibApi, в другой модуль (с соответствующим изменением вызывающего их кода).
2. Удалить переменные процедурных типов, привязать к процедурам имена объектов в динамической библиотеке.
3. Удалить ручную загрузку - выгрузку модуля.
4. Удалить проверку загрузки библиотеки в вызывающих модулях.

Дополнительное действие

5. Отключить вывод отладочных сообщений, чтобы они не мешали работе CGI.

Возражений нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 03 Ноябрь, 2011 20:14 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
Теперь надо будет переделать FibApi на портируемый вариант
Код:
 MODULE FibApiWinLin [cc"fbclient.dll""libfbclient.so"] ...
Если Вы делаете по аналогии с интерфейсным модулем из Mysql, то это не портируемый вариант. Это совмещение при помощи селекторов исходных текстов двух разных модулей MysqlLibWin и MysqlLibLin в одном документе MysqlLib. Т. к. технически интерфейс дин. библиотек Си-API MySQL для Win/Lin различается конвенцией вызова процедур, портируемого интерфейса к ним быть не может. (Под портируемым (между Win/Lin) я понимаю что исходник одинаковый. Не ошибаюсь?)

P.S. Ср.: у Седны интерфейсный модуль для Win/Lin один и тот же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Пятница, 04 Ноябрь, 2011 03:14 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Да. Сейчас совмещенный вариант.

У Вас есть предложения для того, чтобы в будущем делать полностью портируемые варианты?

1. Для интерфейсов к динамическим библиотекам текстовый препроцессор для замены имени библиотеки (или симлинк на линуксе fbclient.dll -> libfbclient.so
или создать в Windows копию fbclient.dll и назвать ее libfbclient.so )?
2. Для модулей, вызывающих специфичные Win или Lin модули, добавить промежуточные модули, которые заменяются в случае компиляции и сборки под нужную платформу?
3. Сделать стандартную систему глобальных настроек, которые в одном месте позволяют переключить платформу, вместо того, чтобы вносить изменения во многих местах
или использовать что-то, похожее на "configure;make;make install" при компиляции исходников программ в Unix?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Пятница, 04 Ноябрь, 2011 18:39 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
У Вас есть предложения для того, чтобы в будущем делать полностью портируемые варианты?
Только самые общие: не забывать, что ПО — компонентное и изучать/осознавать "первопример" — Проект Оберон. Насколько я понял, суть (и сложность задачи) в создании неизменных интерфейсов. Когда интерфейсы фиксированы, то как только Вы предоставили компоненты, реализующие интерфейс импорта компонента X для платформы N, то X на неё "портировался". Т. е. портируемость прежде всего заключается не в реализации, а в интерфейсах.

Если для реализации своего интерфейса компонент импортирует только общие, абстрактные интерфейсы, то реализация "автоматически" портируема. Если компонент импортирует платформенно-зависимые интерфейсы (библиотеки ОС и т.п.), то реализация не портируемая, своя для каждой платформы. Такие компоненты нужно реализовывать как можно проще, т.е. не нужно ставить целью сделать портируемым исходный текст реализации.

Sql-драйвер Firebird является платформенно-зависимым компонентом, посколько импортирует внешнюю библиотеку. Наверняка, можно как-то облегчить будущую работу по портированию (переделке) такого компонента. Поскольку я вообще не в теме Firebird, то никаких конкретных предложений на этот счёт дать не могу. Только примеры:
- в Mysql подошли селекторы
- в HostFiles часть процедур портируема (напр. Reader.Pos, Reader.ReadByte).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Пятница, 04 Ноябрь, 2011 18:46 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
1. Для интерфейсов к динамическим библиотекам текстовый препроцессор для замены имени библиотеки (или симлинк на линуксе fbclient.dll -> libfbclient.so или создать в Windows копию fbclient.dll и назвать ее libfbclient.so )?
2. Для модулей, вызывающих специфичные Win или Lin модули, добавить промежуточные модули, которые заменяются в случае компиляции и сборки под нужную платформу?
3. Сделать стандартную систему глобальных настроек, которые в одном месте позволяют переключить платформу, вместо того, чтобы вносить изменения во многих местах
или использовать что-то, похожее на "configure;make;make install" при компиляции исходников программ в Unix?
1) По-моему, самое простое — переименовать dll в Windows. В подсистеме Sedna сделано так.
2-3) Как лучше — не знаю. Всё зависит от специфики реализации Sql-драйвера Firebird. Разве что общее соображение — если сразу не ясно, то не заморачиваться и сделать отдельные реализации для Win и Lin. Потом будет видно, можно ли какие-то части совместить.

Насчёт глобальных настроек, могу добавить, что Sql-драйвер — это плагин к службе Sql (Таблица 2-8. Классификация компонентов). Компоненты, использующие службу Sql — портируемые, в качестве их настройки под платформу выступает имя драйвера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Суббота, 05 Ноябрь, 2011 12:50 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Переделал вызов fbclient.dll на статический и отправил автору компонента на тестирование.
Небольшой пример работает нормально.

При попытке переноса переключалки из Mysql.Lib возникла проблема.

Верхние переключалки
Код:
(* Host = ccWinLin <=> Calling conv = ccstdcallccall *)
MODULE FibApiccWinLin [cc"fbclient.dll""libfbclient.so"];

работают нормально.

Нижние переключалки (после слова "PROCEDURE") при копировании и переносе
Код:
cc[ccall]

дают после сохранения файла TRAP 21 (precondition violated) .

Работа выполняется в bb16rc6.7z .

Как правильно перенести переключалки?
Заранее благодарю.


Вложения:
Fib0003.rar [160.95 КБ]
Скачиваний: 289
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Суббота, 05 Ноябрь, 2011 12:56 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
При попытке переноса переключалки из Mysql.Lib возникла проблема... Как правильно перенести переключалки?
http://oberoncore.ru/wiki/blackbox/devselectors
Kubanych писал(а):
Переделал вызов fbclient.dll на статический и отправил автору компонента на тестирование.
...
Вложения
Спасибо, что "используете" хранилище, которое регулярно смотрит автор, и доступное другим участникам, которые могли бы помочь разработке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 06 Ноябрь, 2011 02:44 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Спасибо, все заработало.

А есть такой селектор, который переключал бы фрагменты кода сразу в нескольких файлах исходных данных?

Евгений Темиргалеев писал(а):
... Спасибо...

В репозитарий я хотел выложить уже окончательную готовую для использования в Linux версию с примерами и инструкциями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 06 Ноябрь, 2011 21:08 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
А есть такой селектор, который переключал бы фрагменты кода сразу в нескольких файлах исходных данных?
Нет. Но DevCompiler.CompileThis позволяет выбирать значение селектора во время компиляции. Примеры есть на указанной выше странице вики, в Mysql Compile-List.
Kubanych писал(а):
В репозитарий я хотел выложить уже окончательную готовую для использования в Linux версию с примерами и инструкциями.
Вы работаете, решать Вам. Только отвечать на некоторые Ваши вопросы проще, видя текущий код. Лично я предпочёл бы возможность получать его штатным способом из хранилища bbcc, специально заведённого для коллективной разработки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 10 Ноябрь, 2011 08:03 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Здравствуйте. Как можно указать, чтобы DevElfLinker.LinkDll включал в собираемую библиотеку модули драйвера для базы FireBird (FibApi FibMisc FibErrors FibPlus FibDriver),
которые непосредственно из примера работы с базой не вызываются? Пробовал искусственно импортировать
Код:
MODULE  FibTestLin;
   IMPORT  Log , LinSimpleLog , SqlDB, Strings , FibDriver ;
   
   CONST
      protocol = "FibDriver";
      id = "lc_ctype=WIN1251;user_name=SYSDBA;password=masterkey"; password = "masterkey";
      datasource = "/var/lib/firebird/2.5/data/T.FDB";
   
   PROCEDURE Test*;
      VAR  db: SqlDB.Database; res,  i: INTEGER;
         si: ARRAY 10 OF CHAR;
   BEGIN

      SqlDB.OpenDatabase(protocol, id, password, datasource, SqlDB.sync, SqlDB.showErrors, db, res);
      IF  res = 0  THEN
         Log.String('Open Base');
      ELSE
         Log.String('Error open Base = '); Log.Int(res);
         RETURN ;
      END;
      FOR  i := 1 TO 61  DO
         Strings.IntToString(i, si);
         db.Exec("INSERT INTO T (F)  VALUES (" + si + ") ");
      END;
   END Test;

 
   PROCEDURE Init*;
   BEGIN

      LinSimpleLog.Open;
      Test;
      FibDriver.Zaglushka;
   END Init;

END FibTestLin.

Lin
DevCompiler.CompileThis
   FibErrors
   FibApi(cc:ccall)
   FibPlus
   FibMisc
   FibDriver
   
   FibTestLin
   


При сборке
Код:
DevElfLinker.LinkDll libBBFB.so := Kernel+ Log Math Strings LinSimpleLog
Dates Files Services Dialog Fonts Ports Stores Sequencers Models Meta Converters Views
Controllers Properties Mechanisms Containers
SqlDrivers SqlDB
FibApi FibMisc FibErrors FibPlus FibDriver
FibTestLin#


дает сообщение
not found
без всякого пояснения.

Если исключить искусственный вызов FibDriver.Zaglushka, сам FibDriver из списка импорта и имена FibApi FibMisc FibErrors FibPlus FibDriver
из списка для сборки, то нормально собирает
Library libBBFB.so written: 339708 135511

Как проблему подключения подсистемы Mysql к Linux приложению решали? Там ведь тоже просто указывается protocol = 'MysqlDriver',
а модуль сам непосредственно не импортируется? Заранее благодарю.

P.S. Включение в список сборки модулей LinInit Meta Files LinHostFiles StdLoader, рекомендованных документацией для возможности
динамической загрузки модулей, также дает ДВА РАЗА сообщение
not found


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 10 Ноябрь, 2011 09:30 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
а модуль сам непосредственно не импортируется?
Компонент Sql ображается к драйверу через Meta. Тогда он и загружается, если ещё не загружен. Но разницы между динамически загружаемыми StdLoader модулями и статически прилинкованными для Meta быть не должно.

P.S. Гораздо проще разбираться не умозрительно, а видя своими глазами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 10 Ноябрь, 2011 12:43 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Евгений Темиргалеев писал(а):
P.S. Гораздо проще разбираться не умозрительно, а видя своими глазами.


Выложил в репозитарий


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Четверг, 10 Ноябрь, 2011 17:09 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
Выложил в репозитарий
Спасибо. :D Только архив в хранилище ничем не отличается от архива на форуме. Его всё равно надо разворачивать, и после просмотра/правок, думать, как бы их передать адресату.

viewtopic.php?p=67303#p67303
Евгений Темиргалеев писал(а):
Лично я предпочёл бы возможность получать его штатным способом из хранилища bbcc, специально заведённого для коллективной разработки.
Под штатным способом, я имел ввиду:
1) Обновление хранилища (svn up)
2) (Старт ББ в рабочем каталоге, уже настроенном на ветку Fib-devel.) Просмотр и правку документов.
3) Фиксацию изменений в хранилище svn ci ...

Сделал штатным способом. Ответы на viewtopic.php?p=67419#p67419, какие мог, записал в FibTestLin. Не потому, что я такой вредный и мне впёрлось svn-хранилище, а потому, что писать ответы в ББ по месту мне на порядок удобнее, чем тут. И, благодаря составным текстам, они выходят на порядок выразительнее.
Код:
------------------------------------------------------------------------
r245 | TemirgaleevEE | 2011-11-10 17:41:14 +0400 (Чтв, 10 Ноя 2011) | 5 lines
Измененные пути:
   M /Fib/Fib-devel/Fib/Docu/Compile-List.odc
   A /Fib/Fib-devel/Fib/Docu/Dev-Map.odc
   M /Fib/Fib-devel/Fib/Mod/TestLin.odc

Fib-devel:
1) Комментарии и предложения по командам сборки в FibTestLin
2) Разработочные заметки вынес из Compile-List в отдельный документ, обозвал Dev-Map.
3) Предложение по доработке в Dev-Map.

------------------------------------------------------------------------
r244 | TemirgaleevEE | 2011-11-10 15:37:45 +0400 (Чтв, 10 Ноя 2011) | 1 line
Измененные пути:
   D /Fib/Fib-devel/Fib20111110.txt

Fib-devel: удалил архив с исходниками Fib20111110.txt, развёрнутый в предыдущей правке
------------------------------------------------------------------------
r243 | TemirgaleevEE | 2011-11-10 15:36:14 +0400 (Чтв, 10 Ноя 2011) | 1 line
Измененные пути:
   A /Fib/Fib-devel/Fib (from /Fib/Fib:242)
   M /Fib/Fib-devel/Fib/Docu/Coder-List.odc
   M /Fib/Fib-devel/Fib/Docu/Compile-List.odc
   M /Fib/Fib-devel/Fib/Mod/Api.odc
   M /Fib/Fib-devel/Fib/Mod/Driver.odc
   M /Fib/Fib-devel/Fib/Mod/Misc.odc
   A /Fib/Fib-devel/Fib/Mod/Plus.odc
   A /Fib/Fib-devel/Fib/Mod/TestLin.odc
   A /Fib/Fib-devel/Fib/Mod/TestWin.odc
   A /Fib/Fib-devel/Fib/Sql
   A /Fib/Fib-devel/Fib/Sql/create.bat
   A /Fib/Fib-devel/Fib/Sql/create.sh
   A /Fib/Fib-devel/Fib/Sql/create.sql
   A /Fib/Fib-devel/Fib/Sql/run.bat
   A /Fib/Fib-devel/Fib/Sql/run.sh
   A /Fib/Fib-devel/Fib/Sql/run.sql

Fib-devel: сделал копию подсистемы Fib основной ветки. Развернул поверх результаты Кубаныча Fib20111110.txt
------------------------------------------------------------------------
r242 | TazhmamatK | 2011-11-10 13:41:15 +0400 (Чтв, 10 Ноя 2011) | 1 line
Измененные пути:
   A /Fib/Fib-devel/Fib20111110.txt

TestLin problem to build linux executable


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 13 Ноябрь, 2011 06:37 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Попробовал "нехороший" способ.
В репозитарий выложил пока свернутую версию (Fib0008.txt, вдруг общественность не воспримет).

Переделал SqlDB (напрямую FibDriver вместо SqlDrivers), каскадные изменения в FibDriver (очень удобен BlackBox для каскадных изменений).
То есть FibDriver вызывается не через метапрограммирование, а напрямую.
Для конкретных задач (сборка CGI для Linux/Firebird) думаю, так лучше, чем лепить новую dll или работать с FibApi напрямую.
Теперь libBBFB.so собирается.

Тесты в Windows с переделанным SqlDB на вставку записей и выборку таблицы нормально отрабатываются.
Попробую теперь поотключать другие тянущие Host.. модули, а потом запустить в Linux.

Какие будут мнения?

P.S. Насколько понимаю, svn - наследник cvs и позволяет сравнивать изменения в текстовых файлах исходных кодов.
Возможно ли такое сравнение для бинарных odc файлов?

P.P.S. Правильно ли определит DevElfLinker, что включаемые в него модули импортируют интерфейсные модули, вызывающих dll/so,
если они не включаются в список для сборки (откуда линкер получит информацию об имени dll/so и именах вызываемых
из нее функций)? А если DevElfLinker это не определяет, то подключение .so библиотек в Линуксе станет проблематичным.
При сборке exe файлов, вызывающих чужие dll, таких проблем не возникало?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 13 Ноябрь, 2011 08:04 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Отключил Dalog, Services, Dates (Fib0009.txt).
Какие еще зависимости от Host могут оставаться?

P.S.
Кодированные текстовые файлы использую только для сохранения каждого шага,
так как для бинарных odc файлов не понимаю, как cvn хранит изменения, чтобы можно было сделать в случае необходимости шаги назад.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 13 Ноябрь, 2011 10:08 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
P.S. Насколько понимаю, svn - наследник cvs и позволяет сравнивать изменения в текстовых файлах исходных кодов.
Возможно ли такое сравнение для бинарных odc файлов?
Kubanych писал(а):
P.S.
Кодированные текстовые файлы использую только для сохранения каждого шага,
так как для бинарных odc файлов не понимаю, как cvn хранит изменения, чтобы можно было сделать в случае необходимости шаги назад.
0) "Наследник cvs" --- возможно, стоит поглядеть Приложение B, Subversion для пользователей CVS

1) Как хранит: http://svnbook.red-bean.com/nightly/ru/ ... hatis.html
Цитата:
Контроль изменений каталогов. CVS следит только за историей отдельных файлов, тогда как Subversion использует «виртуальную» файловую систему с возможностями управления версиями, которая способна отслеживать изменения во времени целых структур каталогов. Под управление версиями попадают и файлы, и каталоги.
Настоящая история версий. CVS контролирует лишь изменения файлов, поэтому такие операции, как копирование и переименование, хотя и относящиеся к файлам, но по существу являющиеся изменениями каталогов, содержащих эти файлы, в CVS не поддерживаются. Кроме того, в CVS вы не можете заменить файл, помещённый под управление версиями, другим файлом с тем же именем, но совершенно иным содержанием, возможно никак не связанным со старым объектом, без наследования таким элементом всей истории изменений. Subversion делает возможным добавление, удаление, копирование и переименование как файлов, так и каталогов. При этом каждый вновь добавленный файл начинает жизнь с чистого листа, сохраняя собственную историю изменений.
Атомарная фиксация изменений. Каждый набор изменений либо попадает в хранилище целиком, либо не попадает туда вовсе. Это позволяет разработчикам создавать и фиксировать изменения логически оправданными кусками, предотвращая тем самым проблемы, которые могут возникать в тех случаях, когда только часть необходимых изменений помещается в хранилище успешно.
...
Единый способ работы с данными. Subversion обнаруживает различия между файлами с помощью специального бинарного алгоритма, который одинаково работает как с текстовыми, так и с бинарными файлами. Файлы записываются в хранилище в сжатом виде независимо от их типа, а различия между отдельными версиями могут передаваться по сети в обоих направлениях.
Эффективные ветки и метки. Плата за использование веток и меток не должна быть пропорциональна размеру проекта. Subversion создаёт ветки и метки путём простого копирования проекта, используя механизм, похожий на жёсткие ссылки в файловых системах. Благодаря этому, операции по созданию веток и меток занимают немного времени.
...

2) "Шаги назад"/движение вперёд по другому направлению: http://svnbook.red-bean.com/nightly/ru/ ... ation.html
Цитата:
Глава 4, Ветвление и слияние
В этой главе рассматриваются ветки, ...а также даются сведения об отмене внесённых изменений. ... легко переключиться с одной ветки на другую.

3) Сравнение бинарных odc файлов. Насколько я понимаю, механизмы сравнения и слияния в свн рассчитаны только на плоские тексты. См. Using External Differencing Tools
Цитата:
Замечание...This means, for example, that even if you had the niftiest Microsoft Word-aware differencing or merging tool in the Universe, it would never be invoked by Subversion so long as your versioned Word documents had a configured MIME type that denoted that they were not human-readable (such as application/msword).
Про какие-то прилады в сочеатнии с svn для odc ничего cкажу, мне для сравнения odc хватает ББ "F9". Пример (тул-документ для тех, кому лень использовать гуёвый интерфейс)
Вложение:
2.png
2.png [ 21.19 КБ | Просмотров: 11422 ]
Код:
StdCoder.Decode ..,, ..2T....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,MGD.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sIdvPZntgcghghZ
 cZRC8T0E.k9P.H.Tg,2.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.Ab4.,
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.58,w,Qb2E.0.4k59.86.QC18RdfQHfMf9R9v
 Q7ONb17.,.D,,6.I12U.U,2.0EJYjyC.6.VQ.k.k.8Mtr.0E.c9E.c4E.k.0.eWM2y,.,6YU.U
 6qq06Ibe.8ssHomOrVyqqqqkuKmKKtCLLCJuo8.,Mw7ONh1.uGf.2UmT.6.Y02.o.6.K,166c.
 3gwP.0.N0,.p.0kzV.EJ.6.V2o.AU1V0A.AUB.dzzzzz160M.,U.YcPB.VuI3...umdMFR9NhO
 O912Ul1.c99eP7fJ.0EtV.2.m,0.8E.6.,M.3.16.6W.IyCU.2.u12.O.2.f.E,O.4kVE,4.4k
 4Uo1k.0.,6F.622U.UQU.U02.0E.4E,k.0.W6.u.0E.636.c,E.g0I1,k,8Mtr.2..c46.,EMF
 .c8W,E.076,M.9U.IU,U,g3QU2.9.3.4kHkzrE,8mrqqlCoqGKqaKrKKLKIwKqlWmHmqouqHaG
 F0mtOLr0mlyKEqGt0GNGnN0GEWKuGLsCLRymLCLvuKLyKlKKtyKrCqr8rmuGtKrLCqrqqqKLra
 KuarL8KlCqlyGXIgjocdJghYgZpiZZhjocdJgUojjQgh3ijAajocdJArN1HMN59OT96b7Vx7V3
 8Vx7VZ7Vx7V,tC,dQ9PM7963M1Pc.3tP.....Up2YU2ho,......w3g3.2Yy,8nLOoosC..cA6
 6..b8R7vEP9Nbf9T8Q9fP7uP598DdSpt9FvPPPNTNRbPNZv95PPA4s9PuP7v9dONb9RNOORv7i
 n4CJuGqV.....81...7ONhvI9PMZvMFf95uPP9Q1fQ9f6PcUXDJ9X1xhiZimxhgZhZJinpZHZC
 GLtmKWKqtCK.4Te..c95uPR9R.7ONbvM,kVkk.Um,..Unp3.6F6.ZD,6.636.M00U.2..AU0Cy
 IVGhighgmRiiQ88pum470,Mwd0UnpZGhighA70,cw5.,6.QJw.QI2U.sU.ktumdsIdPSNPN7ON
 bH.4D.o3aLq.,cwD.0.E2EhU.E,,.RNEd1U2V.6,6..UYU.AU.U.UUQoO,,6TxR.ytrM.M.6.,
 U0KyBE.2..c4E.k.Ue6T4U.E.0t.U..61lbAUgQnPt0lLU8ssHorMPU1xB..G,0..606.A.N.,
 cYRuQeFJCe.az86Utj08FdWaOiZM0320...
 --- end of encoding ---


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 13 Ноябрь, 2011 10:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
Попробовал "нехороший" способ.
В репозитарий выложил пока свернутую версию (Fib0008.txt, вдруг общественность не воспримет).
я бы в этом случае сделал ещё одну (независимую от первой) ветку (например, Fib-devel2) и работал там:
Код:
svn cp bbcc/Fib/Fib-devel bbcc/Fib/Fib-devel2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Fib - драйвер для Firebird
СообщениеДобавлено: Воскресенье, 13 Ноябрь, 2011 10:33 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Kubanych писал(а):
P.P.S. Правильно ли определит DevElfLinker, что включаемые в него модули импортируют интерфейсные модули, вызывающих dll/so ...
Линкеру ничего определяеть не надо. Интерфейс импорта модуля сохраняется в объектном (кодовом) файле компилятором. Откройте любой и поглядите.
Вложение:
1.png
1.png [ 12.63 КБ | Просмотров: 11419 ]


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

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


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

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


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

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