mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 03:57:41 +00:00
Merge pull request #110472 from brianpursley/k-110407
Fix strategic merge patch $deleteFromPrimitiveList bug
This commit is contained in:
commit
312bfa5505
@ -1425,7 +1425,8 @@ func mergeSliceHandler(original, patch interface{}, schema LookupPatchMeta,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldPatchStrategy == mergeDirective {
|
// Delete lists are handled the same way regardless of what the field's patch strategy is
|
||||||
|
if fieldPatchStrategy == mergeDirective || isDeleteList {
|
||||||
return mergeSlice(typedOriginal, typedPatch, schema, fieldPatchMergeKey, mergeOptions, isDeleteList)
|
return mergeSlice(typedOriginal, typedPatch, schema, fieldPatchMergeKey, mergeOptions, isDeleteList)
|
||||||
} else {
|
} else {
|
||||||
return typedPatch, nil
|
return typedPatch, nil
|
||||||
|
@ -717,6 +717,46 @@ $deleteFromPrimitiveList/mergingIntList:
|
|||||||
Modified: []byte(`
|
Modified: []byte(`
|
||||||
foo:
|
foo:
|
||||||
- bar
|
- bar
|
||||||
|
`),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Description: "$deleteFromPrimitiveList should delete item from a list with merge patch strategy",
|
||||||
|
StrategicMergePatchRawTestCaseData: StrategicMergePatchRawTestCaseData{
|
||||||
|
Original: []byte(`
|
||||||
|
mergingIntList:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
`),
|
||||||
|
TwoWay: []byte(`
|
||||||
|
$deleteFromPrimitiveList/mergingIntList:
|
||||||
|
- 2
|
||||||
|
`),
|
||||||
|
Modified: []byte(`
|
||||||
|
mergingIntList:
|
||||||
|
- 1
|
||||||
|
- 3
|
||||||
|
`),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Description: "$deleteFromPrimitiveList should delete item from a list without merge patch strategy",
|
||||||
|
StrategicMergePatchRawTestCaseData: StrategicMergePatchRawTestCaseData{
|
||||||
|
Original: []byte(`
|
||||||
|
nonMergingIntList:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
`),
|
||||||
|
TwoWay: []byte(`
|
||||||
|
$deleteFromPrimitiveList/nonMergingIntList:
|
||||||
|
- 2
|
||||||
|
`),
|
||||||
|
Modified: []byte(`
|
||||||
|
nonMergingIntList:
|
||||||
|
- 1
|
||||||
|
- 3
|
||||||
`),
|
`),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user