2010-11-15 63 views

回答

2

考慮谷歌的Diff-配對補丁 - 純文本DIFF,匹配和補丁庫:

「的DIFF匹配和修補程序庫提供強大的算法來進行同步平原所需的操作文本。」

差異:比較兩個純文本塊並有效返回差異列表。

Diff演示 匹配:給定一個搜索字符串,在純文本塊中找到它的最佳模糊匹配。加權的準確性和位置。

匹配演示 補丁:在純文本上應用補丁列表。即使底層文本不匹配,也盡最大努力應用補丁。

補丁演示 目前提供Java,JavaScript,C++,C#,Objective C,Lua和Python。不管語言如何,每個庫都具有相同的API和相同的功能。所有版本也有全面的測試線束。

你可以找到它here

0

考慮Py-infinote。

py-infinote是JInfinote的一個python端口,提供可用於編寫多用戶協作文本編輯器的協作文本編輯協議(adOPTed)。在HWIOS項目中使用Py-infinote。

https://github.com/sveith/jinfinote

0

OpenCoweb是一種流行的OT實現。有幾種用不同語言編寫的服務器實現。

0

簡單的參考實現,我將通過添加更復雜的東西來提高接下來的幾個月;

,現擁有:

  • 簡單的文本操作;保留,插入,刪除和它們的相互
  • 標註了文字和轉換的轉換
  • 產生的變化並將它們應用到文本

https://github.com/slevental/operational-transformation