{"record":{"id":"b74a0a54189db97a","repo":"windmill-labs/windmill","slug":"migration-cancelled-by-user","errorCode":null,"errorMessage":"Migration cancelled by user","messagePattern":"Migration cancelled by user","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/gitsync-settings/legacySettings.ts","lineNumber":75,"sourceCode":"    console.log(`  Include paths: ${workspaceIncludePath.join(', ')}`);\n    console.log(`  Include types: ${finalIncludeType.join(', ')}\\n`);\n\n    const confirm = await Confirm.prompt({\n      message: operationName === \"push\"\n        ? 'Do you want to migrate this repository before pushing?'\n        : 'Do you want to migrate this repository?',\n      default: true\n    });\n\n    if (!confirm) {\n      const message = operationName === \"push\"\n        ? '\\n⚠️  Migration skipped. Cannot push to legacy repository.'\n        : '\\n⚠️  Migration skipped. You can migrate later via the UI.';\n      console.log(colors.yellow(message));\n      if (operationName === \"push\") {\n        return null; // Signal to exit push operation\n      }\n      throw new Error('Migration cancelled by user');\n    }\n\n    // Perform the migration\n    let migratedIncludeType = [...workspaceIncludeType];\n    if (selectedRepo.exclude_types_override && selectedRepo.exclude_types_override.length > 0) {\n      migratedIncludeType = migratedIncludeType.filter(\n        type => !selectedRepo.exclude_types_override.includes(type)\n      );\n    }\n\n    const migratedRepo = {\n      ...selectedRepo,\n      settings: {\n        include_path: [...workspaceIncludePath],\n        include_type: migratedIncludeType,\n        exclude_path: [],\n        extra_include_path: []\n      }","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/gitsync-settings/legacySettings.ts#L57-L93","documentation":"User-choice sentinel in the legacy git-sync migration flow: the repository still uses the pre-multi-repo settings format, the CLI explained the migration and asked for confirmation (Confirm.prompt), and the answer was no. For push the flow cannot continue (pushing to a legacy repository is unsupported), so it exits with this error after printing a skip warning; for pull the operation aborts likewise, with a note that migration can be done later via the UI. The input at fault is the interactive confirmation declining the migration.","triggerScenarios":"Thrown at cli/src/commands/gitsync-settings/legacySettings.ts:75 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-run and answer 'y' to the migration prompt to convert the repository to the current settings format","For pull, migrate later via the UI (Settings → Git Sync) and pull again","Skip the CLI interaction by passing --yes (non-interactive mode auto-confirms)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}