8000 GitHub - sumonst21/mendoza: Differ for structured documents (JSON)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Differ for structured documents (JSON)

License

Notifications You must be signed in to change notification settings

sumonst21/mendoza

 
 

Repository files navigation

Mendoza, differ for structured documents

Mendoza looks at two structured documents, referred to as left and right, and constructs a patch of the differences. By having the left document and the patch you'll be able to recover the right document. Mendoza is designed for creating a minimal patch, not necessarily a readable patch.

Example:

$ cat left.json
{"name": "Bob Bobson", "age": 30, "skills": ["Go", "Patching", "Playing"]}
$ cat right.json
{"firstName": "Bob Bobson", "age": 30, "skills": ["Diffing", "Go", "Patching"]}
$ dozadiff left.json right.json
[19,1,10,1,14,"firstName",11,2,20,"Diffing",21,0,2,15]

Features / non-features:

  • Lightweight JSON format.
  • Flexible format which can accommodate more advanced encodings in the future.
  • Differ/patcher available as a Go library (this repo).
  • Patcher available as a JavaScript library: mendoza-js.
  • Efficient handling of renaming of fields.
  • Efficient handling of reordering of arrays.
  • Not designed to be human readable.
  • The patch can only be applied against the exact same version.

Format: See docs/format.adoc

About

Differ for structured documents (JSON)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 59.3%
  • Assembly 40.7%
0