func (cmd *Push) createAppSetFromContextAndManifest(contextApp models.AppParams, manifestApps []models.AppParams) (apps []models.AppParams) { var err error switch len(manifestApps) { case 0: err = addApp(&apps, contextApp) case 1: manifestApps[0].Merge(&contextApp) err = addApp(&apps, manifestApps[0]) default: selectedAppName := contextApp.Name contextApp.Name = nil if !contextApp.IsEmpty() { cmd.ui.Failed("%s", T("Incorrect Usage. Command line flags (except -f) cannot be applied when pushing multiple apps from a manifest file.")) } if selectedAppName != nil { var manifestApp models.AppParams manifestApp, err = findAppWithNameInManifest(*selectedAppName, manifestApps) if err == nil { addApp(&apps, manifestApp) } } else { for _, manifestApp := range manifestApps { addApp(&apps, manifestApp) } } } if err != nil { cmd.ui.Failed(T("Error: {{.Err}}", map[string]interface{}{"Err": err.Error()})) } return }