MCPcopy Create free account
hub / github.com/driangle/taskmd / runImport

Function runImport

apps/cli/internal/cli/importcmd.go:91–126  ·  view source on GitHub ↗
(_ *cobra.Command, _ []string)

Source from the content-addressed store, hash-verified

89}
90
91func runImport(_ *cobra.Command, _ []string) error {
92 if err := ValidateFormat(importFormat, []string{"table", "json", "yaml"}); err != nil {
93 return err
94 }
95
96 flags := GetGlobalFlags()
97
98 var cfg sync.ImportConfig
99 var err error
100
101 if importSource != "" {
102 cfg, err = buildImportConfigFromFlags()
103 } else {
104 cfg, err = runImportWizard()
105 }
106 if err != nil {
107 return err
108 }
109
110 cfg.DryRun = importDryRun
111 cfg.Verbose = flags.Verbose
112
113 if !flags.Quiet && importFormat == "table" {
114 fmt.Fprintf(os.Stderr, "Importing from %s...\n", cfg.SourceName)
115 if cfg.DryRun {
116 fmt.Fprintln(os.Stderr, "(dry-run mode: no files will be written)")
117 }
118 }
119
120 result, err := sync.RunImport(cfg)
121 if err != nil {
122 return fmt.Errorf("import failed: %w", err)
123 }
124
125 return printImportResult(result, importFormat, flags.Quiet)
126}
127
128func buildImportConfigFromFlags() (sync.ImportConfig, error) {
129 project := importProject

Calls 5

ValidateFormatFunction · 0.85
GetGlobalFlagsFunction · 0.85
runImportWizardFunction · 0.85
printImportResultFunction · 0.85