Browse Source

Show experimental flags and subcommands if enabled

Signed-off-by: John Stephens <johnstep@docker.com>
John Stephens 8 years ago
parent
commit
d67aa065ef
1 changed files with 8 additions and 4 deletions
  1. 8 4
      cmd/docker/docker.go

+ 8 - 4
cmd/docker/docker.go

@@ -126,8 +126,10 @@ func dockerPreRun(opts *cliflags.ClientOptions) {
 func hideUnsupportedFeatures(cmd *cobra.Command, clientVersion string, hasExperimental bool) {
 func hideUnsupportedFeatures(cmd *cobra.Command, clientVersion string, hasExperimental bool) {
 	cmd.Flags().VisitAll(func(f *pflag.Flag) {
 	cmd.Flags().VisitAll(func(f *pflag.Flag) {
 		// hide experimental flags
 		// hide experimental flags
-		if _, ok := f.Annotations["experimental"]; ok {
-			f.Hidden = true
+		if !hasExperimental {
+			if _, ok := f.Annotations["experimental"]; ok {
+				f.Hidden = true
+			}
 		}
 		}
 
 
 		// hide flags not supported by the server
 		// hide flags not supported by the server
@@ -139,8 +141,10 @@ func hideUnsupportedFeatures(cmd *cobra.Command, clientVersion string, hasExperi
 
 
 	for _, subcmd := range cmd.Commands() {
 	for _, subcmd := range cmd.Commands() {
 		// hide experimental subcommands
 		// hide experimental subcommands
-		if _, ok := subcmd.Tags["experimental"]; ok {
-			subcmd.Hidden = true
+		if !hasExperimental {
+			if _, ok := subcmd.Tags["experimental"]; ok {
+				subcmd.Hidden = true
+			}
 		}
 		}
 
 
 		// hide subcommands not supported by the server
 		// hide subcommands not supported by the server