OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 29 Апрель, 2024 09:58

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Среда, 10 Февраль, 2010 23:19 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Александр Ильин писал(а):
Ситуация, в которой требуется слияние: пользователь А и пользователь Б получили копию файла, оба его изменили и создали каждый свой патч.
Задача слияния: с помощью автоматической процедуры получить файл, содержащий изменения от обоих пользователей.
Нафик-нафик. Не нужны такие автоматизмы.

Это задача из мира, где программа -- один чудовищный файл.
В модульной системе -- пусть А и Б договариваются.
И пусть модули проектируют хорошенько.

Такое моё пока мнение :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 10 Февраль, 2010 23:21 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да, я тоже никогда бы не стал использовать автоматику.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 10 Февраль, 2010 23:26 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
я бы от более "умного" F9 не отказался...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Февраль, 2010 00:57 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Александр Ильин писал(а):
Нынешний формат ODC мало чем отличается от приведенного двухстрочного. Есть бинарный заголовок, в котором указано форматирование для каждой цепочки символов, какие символы считать вьюшками и т.п. Сама по себе бинарность проблемы не представляет. Если просто закодировать всё в ASCII, слияние проще не станет.

Простите, я видимо пропустил. Речь идёт о создании патчера-диффера не средствами ББ? Зачем!?
При работе с ББ никакого же бинарного заголовка нет - чистый поток символов с атрибутами. И все вьюшки при этом - тоже символы, только особые. И даже формат odc знать не надо

Евгений Темиргалеев писал(а):
Тов. Горячев знает, что говорит.

:oops: :oops:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Февраль, 2010 01:40 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Иван Горячев писал(а):
Простите, я видимо пропустил. Речь идёт о создании патчера-диффера не средствами ББ? Зачем!?
Да нет, это я скорее для общего прояснения ситуации рассказал. Чтобы было понятно, для чего системы контроля версий вообще нужны и как устроены. Заодно и свою степень понимания проверяю.
Вижу, что настал черёд рассказать про feature branches, но пока что вдохновение не посетило. Илья, вы используете feature branches или множите копии модулей?

Патчер-диффер, конечно, надо будет создавать средствами ББ, особенно если идти по пути, выбранном Романом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Февраль, 2010 01:51 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Александр Ильин писал(а):
Илья, вы используете feature branches или множите копии модулей?


Очень редко, когда надо увести "набок" рейд экспериментальный, которые сильно трогает подсистему.

Касательно модулей - у нас строгое правило: только одна версия модуля. Т.е. он всегда один, имеет линейную историю. Вариативность - отдельными подключаемыми модулями.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Февраль, 2010 15:06 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Выделил техническую сторону вопроса в тему Diff & Patch.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 13 Февраль, 2010 14:51 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
По мотивам "Diff & Path".
Если предположить, что "один человек - один модуль", тогда задачу можно перенести на уровень подсистемы, а это уже намного проще. Т.е. мне кажется, важнее отслеживать (и протоколировать и откатывать) изменения на уровне подсистемы. Или в "Diff & Path" это и имеется ввиду?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 13 Февраль, 2010 15:23 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Задачу контроля версий над множеством документов можно и нужно разбивать на задачи определения изменений в каждом документе. Таким образом, проще решить сначала задачу для одного документа, а затем уже комплексно решать задачу для иерархии документов (если речь идёт об аналоге SVN/git).

В теме "Diff & Patch" обсуждается способ определения изменений в версии одного документа, а также инструмента для накладывания заплатки (патча) на исходный документ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 13 Февраль, 2010 15:53 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Axcel писал(а):
Если предположить, что "один человек - один модуль", тогда задачу можно перенести на уровень подсистемы, а это уже намного проще.

Т.е. мне кажется, важнее отслеживать (и протоколировать и откатывать) изменения на уровне подсистемы.
Вот!

Появляется истинная логика задачи контроля версий для настоящей модульной системы.

Какая-то такая вот простая схема:

Если интерфейс модуля не меняется, то версии протоколируются (пусть датами).
Если меняется интерфейс -- то архивируется/протоколируется вся подсистема.

То есть:
последовательность версий подсистемы (версий структуры межмодульных интерфейсов),
в каждой версии -- хвост последовательностей версий отдельных модулей до предыдущей архивации подсистемы.

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

А кнопка восстановления нужной версии подсистемы должна, наверное, делать это в отдельную рабочую папку. То есть как-то концепт рабочих папок тоже тут хорошо работает.

И делать это всё по-возможности прозрачно для работающего программера.

Я бы с этого начал.

Инструментарий сравнения текстов -- он может зависеть от принятой схемы работы с подсистемами?


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

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


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

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


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

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