mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Add copy method to VarSet
This commit is contained in:
@@ -453,7 +453,7 @@ bases:
|
||||
t.Fatalf("expected var collision")
|
||||
}
|
||||
if !strings.Contains(err.Error(),
|
||||
"var AWARD already encountered") {
|
||||
"var 'AWARD' already encountered") {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,20 +92,29 @@ func (vs *VarSet) MergeSet(incoming VarSet) error {
|
||||
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.
|
||||
func (vs *VarSet) MergeSlice(incoming []Var) error {
|
||||
for _, v := range incoming {
|
||||
if vs.Contains(v) {
|
||||
return fmt.Errorf(
|
||||
"var %s already encountered", v.Name)
|
||||
if err := vs.Merge(v); err != nil {
|
||||
return err
|
||||
}
|
||||
v.defaulting()
|
||||
vs.insert(v)
|
||||
}
|
||||
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) {
|
||||
index := sort.Search(
|
||||
len(vs.set),
|
||||
|
||||
@@ -132,7 +132,7 @@ func TestVarSet(t *testing.T) {
|
||||
if err == nil {
|
||||
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)
|
||||
}
|
||||
v := set2.Get("BACKEND")
|
||||
|
||||
Reference in New Issue
Block a user