Jsonmerge_git_merge_driver Alternatives
Similar projects and alternatives to jsonmerge_git_merge_driver
-
-
git-merge-driver
Example of how to configure a custom git merge driver
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
-
syntactic_versioning
What if Git worked with Programming Languages?
-
dark
Darklang main repo, including language, backend, and infra
-
diffsitter
A tree-sitter based AST difftool to get meaningful semantic diffs
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
terminusdb
TerminusDB is a distributed database with a collaboration model
-
structured-haskell-mode
Structured editing minor mode for Haskell in Emacs
-
-
jsonmerge_git_merge_driver reviews and mentions
-
What if Git worked with Programming Languages?
I investigated the option of using a custom git merge driver for a project where we were planning to version control a bunch of data files using git.
Here's a proof of concept python merge driver I bashed together at the time to auto-merge JSON objects: https://github.com/fcostin/jsonmerge_git_merge_driver
This never went anywhere near production, but it was very easy to put together something basic.
One complication with using a custom merge driver, as discussed by https://github.com/Praqma/git-merge-driver , is that they need to be configured inside the `.git/config` of the repo, which itself is not version controlled. So there's an additional config management overhead to rolling that out to everyone in a machine. Additionally, if outsourcing hosting for git repos, it may not be supported to install and configure a custom merge driver for merges conducted by the hosting platform (e.g. merges created by github.com pull request workflow).
One idea I had at the time was using external schema files (e.g. JSON schema for JSON files) to help guide/constrain the result of the merge. I never implemented it, but it should be possible. If the schemas were also version controlled in the same git repo that stores the data, you'd need to figure out which one (and which version) to load when resolving a merge conflict of a data file. There doesn't seem to be a well-supported robust way for a merge driver script to discover the source and destination branches, but there are some potentially fragile ways of doing it that work some of the time.
Stats
fcostin/jsonmerge_git_merge_driver is an open source project licensed under BSD 3-clause "New" or "Revised" License which is an OSI approved license.
The primary programming language of jsonmerge_git_merge_driver is Python.