Commit Graph
37 Commits
Author SHA1 Message Date
Hani HarzallahandGitHub b7c9d01670 fix: preserve correct parent references in explode merge anchor reconstruction (#2730)
When explode resolves merge anchors (<<:), items copied from the
alias target retained the original parent pointer instead of being
set to the enclosing node being reconstructed. This caused GetPath()
to return wrong paths for children of merge-anchored nodes, making
subsequent merge operations target the wrong LHS keys.

In fixedReconstructAliasedMap, set copied.Parent = node after copy.

In reconstructAliasedMap (non-spec path), replace AddChild (which
creates sequence-style numeric-index entries) with AddKeyValueChild
to properly reconstruct mapping key-value pairs. AddKeyValueChild
also correctly sets parent references via SetParent.
2026-08-03 13:07:34 +10:00
722c9aa16c Fix nested inline YAML merge explode (#2699)
Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com>
2026-05-14 19:33:50 +10:00
CopilotGitHubmikefarahcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
7d8d3ab902 Replace gopkg.in/op/go-logging.v1 with log/slog (#2635)
* Initial plan

* Replace gopkg.in/op/go-logging.v1 with log/slog

Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/aa9c12f4-21b9-4633-9868-6b56585b247f

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
2026-03-26 20:41:54 +11:00
Mike Farah db2a4550e5 Fixed tests 2025-07-22 11:25:02 +10:00
Mike Farah 3018396ed2 wip: fixing key order 2025-07-22 10:50:52 +10:00
Mike Farah 84b095bbc4 Making examples of the merge fix flag clearer 2025-07-22 10:18:39 +10:00
Mike Farah f35e57d901 Warn less about flag 2025-07-22 10:02:27 +10:00
Steven WdV 70ac3d6c7a Add override behavior comments 2025-07-20 15:46:15 +02:00
Steven WdV 904215ef4d Fix key overriding in regular maps for traversing 2025-07-20 15:37:45 +02:00
Steven WdV 9c95a9f379 Unify reconstructAliasedMap & fixedReconstructAliasedMap 2025-07-20 14:59:17 +02:00
Steven WdV a4720c089a Merge remote-tracking branch 'origin/MakeExplodeGreatAgain' into merge-anchor-fix
# Conflicts:
#	pkg/yqlib/doc/operators/anchor-and-alias-operators.md
#	pkg/yqlib/operator_anchors_aliases.go
#	pkg/yqlib/operator_anchors_aliases_test.go
2025-07-20 14:37:36 +02:00
Mike Farah 23a7b173bf Fixing merge anchor key order 2025-07-19 15:27:44 +10:00
Steven WdV a47e882c8f Flag for fixed list merge key traverse override behavior,
and fix traversing map with merge key that would override local key (completes #2110 fix)
2025-07-16 16:00:16 +02:00
Steven WdV 128bf80eed Merge branch 'master' into merge-anchor-fix 2025-07-16 14:25:23 +02:00
Mike Farah 6e8cc00030 Added flag to fix #2110 2025-07-14 16:26:26 +10:00
stevenwdvandGitHub 78c096fa8f Remove redundant logic 2025-06-17 15:56:13 +02:00
Steven WdV ce9a4af0df Fix inline map exploding when it contains aliases 2025-06-16 16:09:55 +02:00
Steven WdV 4734be9a4d Fix excessive exploding for merge anchor 2025-06-16 13:53:28 +02:00
Steven WdV 31628e7324 Make merge anchor errors for traversing nonfatal 2025-06-16 13:33:42 +02:00
Steven WdV bfcb3fc6b7 Fix merge anchor exploding
- Allow inline maps instead of just aliases
- Allow aliased sequences
- Disallow other types
- Use tag `!!merge` instead of key `<<`
- Fix insertion index for sequence merge

Closes #2386
2025-06-16 09:58:26 +02:00
Mike Farah 3c3f1180d9 Cleaning up log message formats 2024-02-16 09:44:22 +11:00
Mike Farah 010750daf6 Updated to latest golint 2024-01-11 13:17:34 +11:00
Mike FarahandGitHub 13d1bbb45f Generic ast (#1829)
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
2023-10-18 12:11:53 +11:00
Mike Farah 817287ec90 Check merge alias is a map #1425 2022-11-11 14:53:45 +11:00
Mike Farah 665f6b0267 Fixed self assigned issue #1107 2022-02-20 14:29:52 +11:00
Mike Farah 26356ff4be Added github action fix for parsing xml, updated linter 2022-02-07 11:55:55 +11:00
Matthieu MORELandGitHub 59752fb36d enable more linters (#1043)
* enable revive linter

* enable gochecknoinits linter

* enable unconvert linter

* enable unparam linter

* enable asciicheck linter

* enable depguard linter

* enable nakedret linter

* enable megacheck linter

* enable nolintlint linter

* enable predeclared linter

* Update go.yml

* Update go.yml
2021-12-21 09:30:08 +11:00
Mike Farah b44fecdfa5 Added key operator 2021-11-24 09:57:35 +11:00
Mike Farah 4a4aae00af Sped up explode operator 2021-10-11 10:41:15 +11:00
Mike Farah 0b71a40797 Fixing readonly ops not to modify context when paths dont exist 2021-05-16 14:17:13 +10:00
Mike Farah ae4b606707 Fixed merge anchor bug #800 2021-05-09 13:26:02 +10:00
Mike Farah c6efd5519b Pass context through operators
Allows more sophisticated functionality
2021-02-11 10:58:40 +11:00
Mike Farah e86f83fb69 Renaming pathtree to expression 2021-02-11 10:58:40 +11:00
Mike Farah 7518dac99c Fixed creation of candidateNode in operators to include file metadata 2021-02-11 10:58:40 +11:00
Mike Farah 286590b01e fixing exposed functions and interfaces 2021-02-11 10:58:40 +11:00
Mike Farah 8c1f7dfbd7 Can assign-update aliases and anchors 2021-02-11 10:58:40 +11:00
Mike Farah 1b0bce5da6 Added alias operator;
alias, anchor and explode ops are now all documented together
2020-12-22 12:23:13 +11:00