This repository was archived by the owner on Jul 18, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -63,21 +63,31 @@ func addCommands(cmd *cobra.Command, dockerCli command.Cli) {
63
63
)
64
64
65
65
if ! dockerCli .ClientInfo ().HasExperimental {
66
- hideExperimentalCLI (cmd )
66
+ removeExperimentalCmdsAndFlags (cmd )
67
67
}
68
68
}
69
69
70
- func hideExperimentalCLI (cmd * cobra.Command ) {
71
- if _ , ok := cmd .Annotations ["experimentalCLI" ]; ok {
72
- cmd .Hidden = true
73
- }
70
+ func removeExperimentalCmdsAndFlags (cmd * cobra.Command ) {
71
+ enabledFlags := []* pflag.Flag {}
74
72
cmd .Flags ().VisitAll (func (f * pflag.Flag ) {
75
- if _ , ok := f .Annotations ["experimentalCLI" ]; ok {
76
- f . Hidden = true
73
+ if _ , disabled := f .Annotations ["experimentalCLI" ]; ! disabled {
74
+ enabledFlags = append ( enabledFlags , f )
77
75
}
78
76
})
77
+
78
+ if len (enabledFlags ) != cmd .Flags ().NFlag () {
79
+ cmd .ResetFlags ()
80
+ for _ , f := range enabledFlags {
81
+ cmd .Flags ().AddFlag (f )
82
+ }
83
+ }
84
+
79
85
for _ , subcmd := range cmd .Commands () {
80
- hideExperimentalCLI (subcmd )
86
+ if _ , ok := subcmd .Annotations ["experimentalCLI" ]; ok {
87
+ cmd .RemoveCommand (subcmd )
88
+ } else {
89
+ removeExperimentalCmdsAndFlags (subcmd )
90
+ }
81
91
}
82
92
}
83
93
You can’t perform that action at this time.
0 commit comments