mirror of
https://github.com/mikefarah/yq.git
synced 2026-07-05 20:15:36 +00:00
Merge remote-tracking branch 'stevenwdv/merge-anchor-fix' into merge-anchor-fix
# Conflicts: # pkg/yqlib/doc/operators/anchor-and-alias-operators.md # pkg/yqlib/operator_anchors_aliases_test.go
This commit is contained in:
commit
41cc4fb4ac
@ -64,6 +64,38 @@ x: 1
|
|||||||
y: 2
|
y: 2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Override
|
||||||
|
see https://yaml.org/type/merge.html
|
||||||
|
|
||||||
|
Given a sample.yml file of:
|
||||||
|
```yaml
|
||||||
|
- &CENTER
|
||||||
|
x: 1
|
||||||
|
y: 2
|
||||||
|
- &LEFT
|
||||||
|
x: 0
|
||||||
|
y: 2
|
||||||
|
- &BIG
|
||||||
|
r: 10
|
||||||
|
- &SMALL
|
||||||
|
r: 1
|
||||||
|
- !!merge <<:
|
||||||
|
- *BIG
|
||||||
|
- *LEFT
|
||||||
|
- *SMALL
|
||||||
|
x: 1
|
||||||
|
```
|
||||||
|
then
|
||||||
|
```bash
|
||||||
|
yq '.[4] | explode(.)' sample.yml
|
||||||
|
```
|
||||||
|
will output
|
||||||
|
```yaml
|
||||||
|
r: 10
|
||||||
|
y: 2
|
||||||
|
x: 1
|
||||||
|
```
|
||||||
|
|
||||||
## Get anchor
|
## Get anchor
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
@ -304,7 +304,7 @@ foo_a
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Traversing merge anchors with override
|
## Traversing merge anchors with override
|
||||||
This is legacy behavior, see --yaml-fix-merge-anchor-to-spec
|
This is legacy behaviour, see --yaml-fix-merge-anchor-to-spec
|
||||||
|
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
@ -401,7 +401,7 @@ foobar_thing
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Traversing merge anchor lists
|
## Traversing merge anchor lists
|
||||||
Note that the later merge anchors override previous, but this is legacy behavior, see --yaml-fix-merge-anchor-to-spec
|
Note that the later merge anchors override previous, but this is legacy behaviour, see --yaml-fix-merge-anchor-to-spec
|
||||||
|
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
@ -434,7 +434,7 @@ bar_thing
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Splatting merge anchor lists
|
## Splatting merge anchor lists
|
||||||
With legacy override behavior, see --yaml-fix-merge-anchor-to-spec
|
With legacy override behaviour, see --yaml-fix-merge-anchor-to-spec
|
||||||
|
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
@ -433,7 +433,7 @@ var traversePathOperatorScenarios = []expressionScenario{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "Traversing merge anchors with override",
|
description: "Traversing merge anchors with override",
|
||||||
subdescription: "This is legacy behavior, see --yaml-fix-merge-anchor-to-spec",
|
subdescription: "This is legacy behaviour, see --yaml-fix-merge-anchor-to-spec",
|
||||||
document: mergeDocSample,
|
document: mergeDocSample,
|
||||||
expression: `.foobar.c`,
|
expression: `.foobar.c`,
|
||||||
expected: []string{
|
expected: []string{
|
||||||
@ -477,7 +477,7 @@ var traversePathOperatorScenarios = []expressionScenario{
|
|||||||
{
|
{
|
||||||
description: "Traversing merge anchor lists",
|
description: "Traversing merge anchor lists",
|
||||||
subdescription: "Note that the later merge anchors override previous, " +
|
subdescription: "Note that the later merge anchors override previous, " +
|
||||||
"but this is legacy behavior, see --yaml-fix-merge-anchor-to-spec",
|
"but this is legacy behaviour, see --yaml-fix-merge-anchor-to-spec",
|
||||||
document: mergeDocSample,
|
document: mergeDocSample,
|
||||||
expression: `.foobarList.thing`,
|
expression: `.foobarList.thing`,
|
||||||
expected: []string{
|
expected: []string{
|
||||||
@ -502,7 +502,7 @@ var traversePathOperatorScenarios = []expressionScenario{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "Splatting merge anchor lists",
|
description: "Splatting merge anchor lists",
|
||||||
subdescription: "With legacy override behavior, see --yaml-fix-merge-anchor-to-spec",
|
subdescription: "With legacy override behaviour, see --yaml-fix-merge-anchor-to-spec",
|
||||||
document: mergeDocSample,
|
document: mergeDocSample,
|
||||||
expression: `.foobarList[]`,
|
expression: `.foobarList[]`,
|
||||||
expected: []string{
|
expected: []string{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user