* Update docs given https://github.com/yaml/go-yaml/pull/348

* Fix for https://github.com/mikefarah/yq/issues/2677

Depends on https://github.com/yaml/go-yaml/pull/348

* Test for https://github.com/mikefarah/yq/issues/2677

* Remove redundant check and add test case for explicit `!!merge` on `*+` traversal

* Bump go.yaml.in/yaml/v4 from 4.0.0-rc.4 to 4.0.0-rc.5
This commit is contained in:
William Floyd
2026-06-09 14:08:47 +10:00
committed by GitHub
parent 25dfcf280f
commit 30e16a33c3
22 changed files with 129 additions and 74 deletions
@@ -32,7 +32,7 @@ Given a sample.yml file of:
r: 10
- &SMALL
r: 1
- !!merge <<: *CENTRE
- <<: *CENTRE
r: 10
```
then
@@ -213,10 +213,10 @@ item_value: &item_value
value: true
thingOne:
name: item_1
!!merge <<: *item_value
<<: *item_value
thingTwo:
name: item_2
!!merge <<: *item_value
<<: *item_value
```
then
```bash
@@ -231,7 +231,7 @@ thingOne:
value: false
thingTwo:
name: item_2
!!merge <<: *item_value
<<: *item_value
```
## LEGACY: Explode with merge anchors
@@ -249,13 +249,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -298,7 +298,7 @@ Given a sample.yml file of:
r: 10
- &SMALL
r: 1
- !!merge <<:
- <<:
- *CENTRE
- *BIG
```
@@ -328,7 +328,7 @@ Given a sample.yml file of:
r: 10
- &SMALL
r: 1
- !!merge <<:
- <<:
- *BIG
- *LEFT
- *SMALL
@@ -361,13 +361,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -411,7 +411,7 @@ Given a sample.yml file of:
r: 10
- &SMALL
r: 1
- !!merge <<:
- <<:
- *CENTRE
- *BIG
```
@@ -442,7 +442,7 @@ Given a sample.yml file of:
r: 10
- &SMALL
r: 1
- !!merge <<:
- <<:
- *BIG
- *LEFT
- *SMALL
@@ -467,7 +467,7 @@ Given a sample.yml file of:
```yaml
a:
b: &b 42
!!merge <<:
<<:
c: *b
```
then
+2 -2
View File
@@ -55,7 +55,7 @@ yq '.a = .a / 0 | .b = .b / 0' sample.yml
```
will output
```yaml
a: !!float +Inf
b: !!float -Inf
a: +Inf
b: -Inf
```
+2 -2
View File
@@ -34,7 +34,7 @@ yq '.a = .a % .b' sample.yml
```
will output
```yaml
a: !!float 2
a: 2
b: 2.5
```
@@ -69,7 +69,7 @@ yq '.a = .a % .b' sample.yml
```
will output
```yaml
a: !!float NaN
a: NaN
b: 0
```
+3 -3
View File
@@ -471,13 +471,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -487,7 +487,7 @@ yq '.foobar * .foobarList' sample.yml
will output
```yaml
c: foobarList_c
!!merge <<:
<<:
- *foo
- *bar
thing: foobar_thing
@@ -131,13 +131,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -147,7 +147,7 @@ yq '.foobar | [..]' sample.yml
will output
```yaml
- c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
- foobar_c
- *foo
+20 -20
View File
@@ -294,13 +294,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -325,13 +325,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -376,13 +376,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -409,13 +409,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -442,13 +442,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -477,13 +477,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -513,13 +513,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -546,13 +546,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -579,13 +579,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then
@@ -614,13 +614,13 @@ bar: &bar
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
<<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
<<: *foo
thing: foobar_thing
```
then