当多人实时编辑文档时,有很多方法可以处理撤消/重做和冲突。
我正在考虑每隔k秒将文档有效负载commit
发送到DVCS的消息。对于撤消/重做问题,也许我会使用Rope。
但我不确定。解决合并冲突和每个用户撤消/重做的最佳方法是什么?例如:Google Docs 是如何做到的?
根据您的标签,您正在使用网络技术。
接受@DavidYue 的建议并使用差分同步[1]
,我建议使用本文中开发的diffsync[2]
。
在幕后它使用socket.io,请参阅客户端、服务器和 DataAdapter (data-source) 的示例。
[1]
N. Fraser,“<a href="http://research.google.com/pubs/pub35605.html" rel="nofollow">差分同步”,DocEng'09,2009 ACM 文档工程研讨会论文集, 2 Penn Plaza, Suite 701, New York, New York 10121-0701, 2009, 第 13-20 页。
[2]
J. Monschke,“<a href="http://cl.ly/1H111o1w1Z0T" rel="nofollow">使用新兴网络标准构建协作音乐制作环境”,硕士论文,HTW,柏林,德国,2014。