From c27f99b89e31556a81ea78464fc4d0d33cafd1e3 Mon Sep 17 00:00:00 2001 From: ymqytw Date: Fri, 23 Sep 2016 11:12:24 -0700 Subject: [PATCH] improve edit experience --- pkg/kubectl/cmd/edit.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/kubectl/cmd/edit.go b/pkg/kubectl/cmd/edit.go index 0748cf492ba..83f90921e41 100644 --- a/pkg/kubectl/cmd/edit.go +++ b/pkg/kubectl/cmd/edit.go @@ -39,6 +39,7 @@ import ( "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/crlf" "k8s.io/kubernetes/pkg/util/strategicpatch" + "k8s.io/kubernetes/pkg/util/validation/field" "k8s.io/kubernetes/pkg/util/yaml" "github.com/golang/glog" @@ -216,7 +217,12 @@ func RunEdit(f *cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args } err = schema.ValidateBytes(stripComments(edited)) if err != nil { - return preservedFile(err, file, errOut) + results = editResults{ + file: file, + } + containsError = true + fmt.Fprintln(out, results.addError(errors.NewInvalid(api.Kind(""), "", field.ErrorList{field.Invalid(nil, "The edited file failed validation", fmt.Sprintf("%v", err))}), info)) + continue } // Compare content without comments @@ -295,8 +301,9 @@ func RunEdit(f *cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args return nil } - // loop again and edit the remaining items - infos = results.edit + if len(results.header.reasons) > 0 { + containsError = true + } } }) return err