Skip to content

Commit 9fde1c6

Browse files
committed
Narrow merge interface to merging the same types
1 parent 3b3886a commit 9fde1c6

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

staging/src/k8s.io/client-go/tools/clientcmd/client_config.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ func (config *DirectClientConfig) getContext() (clientcmdapi.Context, error) {
508508
return clientcmdapi.Context{}, fmt.Errorf("context %q does not exist", contextName)
509509
}
510510
if config.overrides != nil {
511-
if err := merge(mergedContext, config.overrides.Context); err != nil {
511+
if err := merge(mergedContext, &config.overrides.Context); err != nil {
512512
return clientcmdapi.Context{}, err
513513
}
514514
}
@@ -530,7 +530,7 @@ func (config *DirectClientConfig) getAuthInfo() (clientcmdapi.AuthInfo, error) {
530530
return clientcmdapi.AuthInfo{}, fmt.Errorf("auth info %q does not exist", authInfoName)
531531
}
532532
if config.overrides != nil {
533-
if err := merge(mergedAuthInfo, config.overrides.AuthInfo); err != nil {
533+
if err := merge(mergedAuthInfo, &config.overrides.AuthInfo); err != nil {
534534
return clientcmdapi.AuthInfo{}, err
535535
}
536536
}
@@ -545,7 +545,7 @@ func (config *DirectClientConfig) getCluster() (clientcmdapi.Cluster, error) {
545545

546546
mergedClusterInfo := clientcmdapi.NewCluster()
547547
if config.overrides != nil {
548-
if err := merge(mergedClusterInfo, config.overrides.ClusterDefaults); err != nil {
548+
if err := merge(mergedClusterInfo, &config.overrides.ClusterDefaults); err != nil {
549549
return clientcmdapi.Cluster{}, err
550550
}
551551
}
@@ -557,7 +557,7 @@ func (config *DirectClientConfig) getCluster() (clientcmdapi.Cluster, error) {
557557
return clientcmdapi.Cluster{}, fmt.Errorf("cluster %q does not exist", clusterInfoName)
558558
}
559559
if config.overrides != nil {
560-
if err := merge(mergedClusterInfo, config.overrides.ClusterInfo); err != nil {
560+
if err := merge(mergedClusterInfo, &config.overrides.ClusterInfo); err != nil {
561561
return clientcmdapi.Cluster{}, err
562562
}
563563
}

staging/src/k8s.io/client-go/tools/clientcmd/merge.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ import (
2424
// - non-pointer struct fields are recursively merged
2525
// - maps are shallow merged with src keys taking priority over dst
2626
// - non-zero src fields encountered during recursion that are not maps or structs overwrite and recursion stops
27-
func merge(dst, src any) error {
27+
func merge[T any](dst, src *T) error {
2828
return mergo.Merge(dst, src, mergo.WithOverride)
2929
}

0 commit comments

Comments
 (0)