Skip to content

Commit e0346c0

Browse files
authored
Merge pull request #255 from apelisse/remove-unions
Remove unions logic, keep schema components
2 parents 9c99f49 + 35d4e8c commit e0346c0

File tree

6 files changed

+0
-938
lines changed

6 files changed

+0
-938
lines changed

Diff for: internal/fixture/state.go

-14
Original file line numberDiff line numberDiff line change
@@ -535,8 +535,6 @@ type TestCase struct {
535535
// Managed, if not nil, is the ManagedFields as expected
536536
// after all operations are run.
537537
Managed fieldpath.ManagedFields
538-
// Set to true if the test case needs the union behavior enabled.
539-
RequiresUnions bool
540538
// ReportInputOnNoop if we don't want to compare the output and
541539
// always return it.
542540
ReturnInputOnNoop bool
@@ -576,7 +574,6 @@ func (tc TestCase) BenchWithConverter(parser Parser, converter merge.Converter)
576574
Converter: converter,
577575
IgnoredFields: tc.IgnoredFields,
578576
ReturnInputOnNoop: tc.ReturnInputOnNoop,
579-
EnableUnions: tc.RequiresUnions,
580577
}
581578
state := State{
582579
Updater: updaterBuilder.BuildUpdater(),
@@ -599,7 +596,6 @@ func (tc TestCase) TestWithConverter(parser Parser, converter merge.Converter) e
599596
Converter: converter,
600597
IgnoredFields: tc.IgnoredFields,
601598
ReturnInputOnNoop: tc.ReturnInputOnNoop,
602-
EnableUnions: tc.RequiresUnions,
603599
}
604600
state := State{
605601
Updater: updaterBuilder.BuildUpdater(),
@@ -636,15 +632,5 @@ func (tc TestCase) TestWithConverter(parser Parser, converter merge.Converter) e
636632
}
637633
}
638634

639-
if !tc.RequiresUnions {
640-
// Re-run the test with unions on.
641-
tc2 := tc
642-
tc2.RequiresUnions = true
643-
err := tc2.TestWithConverter(parser, converter)
644-
if err != nil {
645-
return fmt.Errorf("fails if unions are on: %v", err)
646-
}
647-
}
648-
649635
return nil
650636
}

Diff for: merge/union_test.go

-234
This file was deleted.

Diff for: merge/update.go

-31
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ type UpdaterBuilder struct {
3434
Converter Converter
3535
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
3636

37-
EnableUnions bool
38-
3937
// Stop comparing the new object with old object after applying.
4038
// This was initially used to avoid spurious etcd update, but
4139
// since that's vastly inefficient, we've come-up with a better
@@ -49,7 +47,6 @@ func (u *UpdaterBuilder) BuildUpdater() *Updater {
4947
return &Updater{
5048
Converter: u.Converter,
5149
IgnoredFields: u.IgnoredFields,
52-
enableUnions: u.EnableUnions,
5350
returnInputOnNoop: u.ReturnInputOnNoop,
5451
}
5552
}
@@ -63,19 +60,9 @@ type Updater struct {
6360
// Deprecated: This will eventually become private.
6461
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
6562

66-
enableUnions bool
67-
6863
returnInputOnNoop bool
6964
}
7065

71-
// EnableUnionFeature turns on union handling. It is disabled by default until the
72-
// feature is complete.
73-
//
74-
// Deprecated: Use the builder instead.
75-
func (s *Updater) EnableUnionFeature() {
76-
s.enableUnions = true
77-
}
78-
7966
func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, workflow string, force bool) (fieldpath.ManagedFields, *typed.Comparison, error) {
8067
conflicts := fieldpath.ManagedFields{}
8168
removed := fieldpath.ManagedFields{}
@@ -160,12 +147,6 @@ func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldp
160147
if err != nil {
161148
return nil, fieldpath.ManagedFields{}, err
162149
}
163-
if s.enableUnions {
164-
newObject, err = liveObject.NormalizeUnions(newObject)
165-
if err != nil {
166-
return nil, fieldpath.ManagedFields{}, err
167-
}
168-
}
169150
managers, compare, err := s.update(liveObject, newObject, version, managers, manager, true)
170151
if err != nil {
171152
return nil, fieldpath.ManagedFields{}, err
@@ -198,22 +179,10 @@ func (s *Updater) Apply(liveObject, configObject *typed.TypedValue, version fiel
198179
if err != nil {
199180
return nil, fieldpath.ManagedFields{}, err
200181
}
201-
if s.enableUnions {
202-
configObject, err = configObject.NormalizeUnionsApply(configObject)
203-
if err != nil {
204-
return nil, fieldpath.ManagedFields{}, err
205-
}
206-
}
207182
newObject, err := liveObject.Merge(configObject)
208183
if err != nil {
209184
return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to merge config: %v", err)
210185
}
211-
if s.enableUnions {
212-
newObject, err = configObject.NormalizeUnionsApply(newObject)
213-
if err != nil {
214-
return nil, fieldpath.ManagedFields{}, err
215-
}
216-
}
217186
lastSet := managers[manager]
218187
set, err := configObject.ToFieldSet()
219188
if err != nil {

0 commit comments

Comments
 (0)