• Phillip Wittrock's avatar
    Beginning of rewrite apply merge-logic using visitor pattern. · df5fc7a2
    Phillip Wittrock authored
    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
    df5fc7a2
Name
Last commit
Last update
..
apply Loading commit data...
apps Loading commit data...
cmd Loading commit data...
metricsutil Loading commit data...
plugins Loading commit data...
proxy Loading commit data...
resource Loading commit data...
testing Loading commit data...
util Loading commit data...
validation Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
apply.go Loading commit data...
autoscale.go Loading commit data...
autoscale_test.go Loading commit data...
bash_comp_utils.go Loading commit data...
cluster.go Loading commit data...
cluster_test.go Loading commit data...
clusterrolebinding.go Loading commit data...
clusterrolebinding_test.go Loading commit data...
configmap.go Loading commit data...
configmap_test.go Loading commit data...
delete.go Loading commit data...
delete_test.go Loading commit data...
deployment.go Loading commit data...
deployment_test.go Loading commit data...
doc.go Loading commit data...
env_file.go Loading commit data...
env_file_test.go Loading commit data...
explain.go Loading commit data...
generate.go Loading commit data...
generate_test.go Loading commit data...
history.go Loading commit data...
interfaces.go Loading commit data...
kubectl.go Loading commit data...
kubectl_test.go Loading commit data...
namespace.go Loading commit data...
namespace_test.go Loading commit data...
pdb.go Loading commit data...
quota.go Loading commit data...
quota_test.go Loading commit data...
resource_filter.go Loading commit data...
resource_filter_test.go Loading commit data...
rolebinding.go Loading commit data...
rolebinding_test.go Loading commit data...
rollback.go Loading commit data...
rolling_updater.go Loading commit data...
rolling_updater_test.go Loading commit data...
rollout_status.go Loading commit data...
rollout_status_test.go Loading commit data...
run.go Loading commit data...
run_test.go Loading commit data...
scale.go Loading commit data...
scale_test.go Loading commit data...
secret.go Loading commit data...
secret_for_docker_registry.go Loading commit data...
secret_for_docker_registry_test.go Loading commit data...
secret_for_tls.go Loading commit data...
secret_for_tls_test.go Loading commit data...
secret_test.go Loading commit data...
service.go Loading commit data...
service_basic.go Loading commit data...
service_basic_test.go Loading commit data...
service_test.go Loading commit data...
serviceaccount.go Loading commit data...
serviceaccount_test.go Loading commit data...
sorting_printer.go Loading commit data...
sorting_printer_test.go Loading commit data...
versioned_client.go Loading commit data...