Как объединить два текста с учетом общей базовой версии обоих текстов? - PullRequest
0 голосов
/ 21 февраля 2019

Аналогично тому, как git объединяет две ветви, но:

  • с использованием python
  • вместо двух ветвей у нас есть text1 и text2
  • вместообщий коммит у нас есть text0 - предыдущая версия text1 и text2

diff-match-patch , вероятно, может быть использована для выполнения этой задачи, но я не нашелсоответствующий метод ни в doc, ни в исходном коде пакета python (потому что документы не завершены).

Пока я придумываю следующее:

c = "some base text with meaning"
a = "changed base text with meaning"
b = "some base text without meaning"
p1 = dmp.patch_make(c, a)
p2 = dmp.patch_make(c, b)
dmp.patch_apply(p1 + p2, c)
> ('changed base text without meaning', [True, True])

Похоже, это работает, но я не уверен, что это правильный метод.Может кто-то опытный с diff-match-patch одобрить это?

...