Fix default-repo
by supporting nil as default value for flags
#5654
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #5588
Related: #5632, #5548
Description
Adds support for "nillable" values like the use of
StringOrUndefined
used for--default-repo
.Prior to #5632, we never initialized struct values (called
Var
in pflag). But with the new--port-forward
implementation (#5554), we now needed to initialize struct values with possibly different values depending on the command (#5548).With #5548 we now reset
Var
type values to their default value, but it turns out that--default-repo
had an incorrect default value of the empty string:skaffold/cmd/skaffold/app/cmd/flags.go
Lines 99 to 105 in bcb2eaa
This default value should have been
nil
: the default repo support differentiates betweennil
and the empty string "". Whennil
, Skaffold will look to see if there is a value set in the global config; whereas the empty string indicates that no default-repo should be used.User facing changes (remove if N/A)
default-repo
is able to be used from the global config again