当多人实时编辑文档时,有许多方法可以处理撤消/重做和冲突。
我正在考虑每个 k 秒将文档有效负载与commit
消息一起发送到DVCS。对于撤消/重做问题,我可能会使用Rope。
但我不确定。什么是解决合并冲突和每用户撤消/重做的最佳方法?例如:Google Docs如何做到这一点?
答案 0 :(得分:1)
根据您的代码,您正在使用网络技术。
采用@DavidYue的建议并使用差异同步 [1]
,我建议使用本文[2]
期间开发的diffsync。
在使用socket.io的封面下,请参阅example with client, server and DataAdapter (data-source)。
[1]
N. Fraser,“Differential Synchronization”,DocEng'09,2009年ACM文献工程研讨会论文集,2 Penn Plaza,Suite 701,纽约,纽约10121-0701 ,2009年,第13-20页。
[2]
J. Monschke,“Building a collaborative music production environment using emerging web standards”,硕士论文,HTW,柏林,德国,2014年。