Comments 3
На схеме, где Васе приходит Insert " Habr" @5
, там же ошибка в действиях, которые происходят на Васином клиенте
Если я правильно понял описанную реализацию, слияние не коммутативно.
Поскольку Петя и Вася в примере начинают редактировать пустой документ, то может случиться, что Вася раньше отправит на сервер изменение, чем Петя. Тогда вторая ревизия будет
По моим представлениям, если версии документа не имеют структуру полурешетки, то с необходимостью возникает проблема слияния. Либо конфликт должен решаться клиентом (как в git), либо из двух клиентов изменения одного должны доминировать над другим.
Поскольку Петя и Вася в примере начинают редактировать пустой документ, то может случиться, что Вася раньше отправит на сервер изменение, чем Петя. Тогда вторая ревизия будет
!Hello
, а третья !Hello Habr
. Как решается эта проблема?По моим представлениям, если версии документа не имеют структуру полурешетки, то с необходимостью возникает проблема слияния. Либо конфликт должен решаться клиентом (как в git), либо из двух клиентов изменения одного должны доминировать над другим.
Sign up to leave a comment.
Автоматическое разрешение конфликтов с помощью операциональных преобразований