func hasFieldChanged()

in operatortrace-go/pkg/predicates/ignore_trace_annotation_update.go [96:107]


func hasFieldChanged(oldUnstructured, newUnstructured map[string]interface{}, field string) bool {
	oldField, foundOld, errOld := unstructuredNestedFieldNoCopy(oldUnstructured, field)
	newField, foundNew, errNew := unstructuredNestedFieldNoCopy(newUnstructured, field)

	// If there was an error accessing the field, or if one found and the other not found
	if errOld != nil || errNew != nil || foundOld != foundNew {
		return true
	}

	// Check if the fields are semantically equal
	return !equality.Semantic.DeepEqual(oldField, newField)
}