Skip to content

Commit f4b418f

Browse files
Clarify YAML merge operation budgets
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 48adb37 commit f4b418f

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ $mergedYaml = Merge-Yaml -InputObject @($baseYaml, $overlayYaml)
191191
Compatible mappings merge recursively by structural YAML key equality. Base key
192192
order remains stable, replacing a value retains its position, and new overlay
193193
keys append in overlay order. Complex and tagged keys are supported. Structural
194-
fingerprints select comparison candidates only; graph-aware equality makes the
195-
final key decision.
194+
fingerprints select comparison candidates only; mutation-aware indexes are
195+
retained across overlays, and graph-aware equality makes the final key decision.
196196

197197
Compatible sequences use `-SequenceAction Replace`, `Append`, or `Unique`.
198198
Unequal scalars, collection kinds, and incompatible effective tags use
@@ -212,9 +212,10 @@ one deterministic string with LF line endings, explicit document starts, and no
212212
final newline.
213213

214214
The parser safety parameters and defaults match `Format-Yaml`. `-MaxNodes`
215-
limits each parsed stream and invocation-wide cloning, equality, merge work, and
216-
the resulting stream graph. Alias and expanded-tag budgets are also enforced on
217-
the result.
215+
limits each parsed stream and applies independently to invocation-wide clone
216+
creation, charged merge operations, and the resulting stream graph. Index,
217+
fingerprint, candidate, alias-traversal, and equality work all consume the merge
218+
operation budget. Alias and expanded-tag budgets are also enforced on the result.
218219

219220
## Export YAML files
220221

0 commit comments

Comments
 (0)