NAME

Merge - merge structures according provided rules

OPTIONS

--[no]blame

Blame calculation toggle. Enabled by default.

--ignore <path>

Ignore part from source structure. Rule-wide option. May be used several times.

--merge <path>

Path in the source structure to merge. Whole structure will be merged if omitted or empty. May be specified several times.

--preserve <path>

Preserve specified parts from original structure. Rule-wide option. May be used several times.

--source <uri>

Source to merge with. Original processing structure will be used if option specified, but value not defined or empty. Rule-wide option. May be used several times.

--[no]strict

Fail if specified path doesn't exists in source structure. Positional opt - define rule default if used before --merge, per-merge opt otherwise. Enabled by default.

--style <style>

Merge style. Positional option - define rule default if used before --merge, per-merge opt otherwise.

L_ADDITIVE, R_ADDITIVE

Hashes merged, arrays joined, undefined scalars overrided. Left and right precedence.

L_JSON_MERGE_PATCH, R_JSON_MERGE_PATCH

JSON Merge Patch (rfc7386). Almost the same as L_OVERRIDE and R_OVERRIDE, but hash keys with undef values in the patch cause removal of existing keys in the main structure. Left and right precedence.

L_OVERRIDE, R_OVERRIDE

Hashes merged, arrays and scalars overrided. Left and right precedence.

L_REPLACE, R_REPLACE

Nothing merged. One thing simply replaced by another. Left and right precedence.

Default is R_OVERRIDE

SEE ALSO

ndproc(1), ndproc-modules(1)

nddiff(1), ndquery(1), Struct::Path::PerlStyle