Files
kubernetes/pkg
Kubernetes Submit Queue 41568a0602 Merge pull request #52349 from pwittrock/apply-visitor
Automatic merge from submit-queue (batch tested with PRs 53391, 52349). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Beginning of rewrite apply merge-logic using visitor pattern.

**Note**: This is not hooked up to anything.  A release note will be added when this is wired into actual commands.

Major changes:
- Don't generate a patch, instead generate the merged object so it can be used with PUT
- Separate tree parsing logic to collate items in a list from the delete / merge / replace / add logic when merging
- Use openapi for merge strategy metadata so it works with extensions and version skew
- Support multi-field mergekeys when merging lists
- Support replace strategy for maps
- Reduce complexity of generating order when merging lists - keep the locally defined order and append remote only-items

Continue to support:
- Explicitly setting fields to null
- Merging lists of primitives
- Don't randomize ordering when merging lists

TODO:
- Retain keys
- Conflict detection



**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes kubernetes/kubectl#69

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-10-03 14:41:14 -07:00
..
2017-09-01 19:11:19 +08:00
2017-10-02 14:39:07 -07:00
2017-08-16 11:22:37 -07:00