mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Add copy method to VarSet
This commit is contained in:
@@ -453,7 +453,7 @@ bases:
|
|||||||
t.Fatalf("expected var collision")
|
t.Fatalf("expected var collision")
|
||||||
}
|
}
|
||||||
if !strings.Contains(err.Error(),
|
if !strings.Contains(err.Error(),
|
||||||
"var AWARD already encountered") {
|
"var 'AWARD' already encountered") {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,20 +92,29 @@ func (vs *VarSet) MergeSet(incoming VarSet) error {
|
|||||||
return vs.MergeSlice(incoming.set)
|
return vs.MergeSlice(incoming.set)
|
||||||
}
|
}
|
||||||
|
|
||||||
// MergeSlice absorbs other vars with error on name collision.
|
// MergeSlice absorbs a Var slice with error on name collision.
|
||||||
// Empty fields in incoming vars are defaulted.
|
// Empty fields in incoming vars are defaulted.
|
||||||
func (vs *VarSet) MergeSlice(incoming []Var) error {
|
func (vs *VarSet) MergeSlice(incoming []Var) error {
|
||||||
for _, v := range incoming {
|
for _, v := range incoming {
|
||||||
if vs.Contains(v) {
|
if err := vs.Merge(v); err != nil {
|
||||||
return fmt.Errorf(
|
return err
|
||||||
"var %s already encountered", v.Name)
|
|
||||||
}
|
}
|
||||||
v.defaulting()
|
|
||||||
vs.insert(v)
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Merge absorbs another Var with error on name collision.
|
||||||
|
// Empty fields in incoming Var is defaulted.
|
||||||
|
func (vs *VarSet) Merge(v Var) error {
|
||||||
|
if vs.Contains(v) {
|
||||||
|
return fmt.Errorf(
|
||||||
|
"var '%s' already encountered", v.Name)
|
||||||
|
}
|
||||||
|
v.defaulting()
|
||||||
|
vs.insert(v)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (vs *VarSet) insert(v Var) {
|
func (vs *VarSet) insert(v Var) {
|
||||||
index := sort.Search(
|
index := sort.Search(
|
||||||
len(vs.set),
|
len(vs.set),
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ func TestVarSet(t *testing.T) {
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected err")
|
t.Fatalf("expected err")
|
||||||
}
|
}
|
||||||
if !strings.Contains(err.Error(), "var SHELLVARS already encountered") {
|
if !strings.Contains(err.Error(), "var 'SHELLVARS' already encountered") {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
}
|
}
|
||||||
v := set2.Get("BACKEND")
|
v := set2.Get("BACKEND")
|
||||||
|
|||||||
Reference in New Issue
Block a user