Как стать автором
Обновить

Автоматическое разрешение конфликтов с помощью операциональных преобразований

Время на прочтение9 мин
Количество просмотров8.5K
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

Комментарии 3

На схеме, где Васе приходит Insert " Habr" @5, там же ошибка в действиях, которые происходят на Васином клиенте

Если я правильно понял описанную реализацию, слияние не коммутативно.
Поскольку Петя и Вася в примере начинают редактировать пустой документ, то может случиться, что Вася раньше отправит на сервер изменение, чем Петя. Тогда вторая ревизия будет !Hello, а третья !Hello Habr. Как решается эта проблема?

По моим представлениям, если версии документа не имеют структуру полурешетки, то с необходимостью возникает проблема слияния. Либо конфликт должен решаться клиентом (как в git), либо из двух клиентов изменения одного должны доминировать над другим.

думаю, что никак, алгоритм никак не интерпретирует содержание документа

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории