Browse Source

introduce pull --include-deps

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 4 years ago
parent
commit
0a05bbc84e
1 changed files with 12 additions and 1 deletions
  1. 12 1
      cli/cmd/compose/pull.go

+ 12 - 1
cli/cmd/compose/pull.go

@@ -28,7 +28,8 @@ import (
 type pullOptions struct {
 	*projectOptions
 	composeOptions
-	quiet bool
+	quiet       bool
+	includeDeps bool
 }
 
 func pullCommand(p *projectOptions) *cobra.Command {
@@ -43,6 +44,7 @@ func pullCommand(p *projectOptions) *cobra.Command {
 		},
 	}
 	cmd.Flags().BoolVarP(&opts.quiet, "quiet", "q", false, "Pull without printing progress information")
+	cmd.Flags().BoolVar(&opts.includeDeps, "include-deps", false, "Also pull services declared as dependencies")
 	return cmd
 }
 
@@ -57,6 +59,15 @@ func runPull(ctx context.Context, opts pullOptions, services []string) error {
 		return err
 	}
 
+	if !opts.includeDeps {
+		enabled, err := project.GetServices(services...)
+		if err != nil {
+			return err
+		}
+		project.DisabledServices = append(project.DisabledServices, project.Services...)
+		project.Services = enabled
+	}
+
 	if opts.quiet {
 		return c.ComposeService().Pull(ctx, project)
 	}