什么是版本控制Json对象的最佳方法

j w*_*ill 5 version-control json

我的任务是为非专业人士创建(各种)版本控制系统。数据存储为任意的json对象,但是用户界面不是那么低级。这是一个不错的漂亮的GUI。

每种类型的版本化数据都将具有一个主副本,并且当用户编辑主版本时,将为其自己的工作空间创建一个副本。准本地分支机构。

由于我们用户的性质,因此需要尽可能无缝地处理出现的任何冲突。它不会很复杂,不会将类似git冲突的结果发送给用户,并希望他们学会解决这些冲突。之所以会发生冲突,是因为每个人完成工作后都会将其提交审核,如果被接受,它将合并成一个类似大师的分支。

我的第一个想法是要有一个与每个对象相关联的更改的“元”列表,无论嵌套有多大,只要发生更改,就将更改操作添加到与该对象相关联的列表中。当用户进行工作空间更改时,查询将检查其他用户的更改是否会发生冲突,并且将向用户发送通知,让他们联系创建冲突另一部分的用户。

这是实用的方法吗?除了做一个大项目,还有其他明显的缺点吗?是否有更好的选择为非技术人员编写版本控制系统?