windmill-labs/windmill · error

Repository "${selectedRepo.git_repo_resource_path}" has lega

Error message

Repository "${selectedRepo.git_repo_resource_path}" has legacy format but workspace-level include_path or include_type is missing. This indicates corrupted git-sync settings.

What it means

Error "Repository "${selectedRepo.git_repo_resource_path}" has legacy format but workspace-level include_path or include_type is missing. This indicates corrupted git-sync settings." thrown in windmill-labs/windmill.

Source

Thrown at cli/src/commands/gitsync-settings/legacySettings.ts:22

import { Confirm } from "@cliffy/prompt/confirm";
import * as wmill from "../../../gen/services.gen.ts";
import { GitSyncRepository } from "./types.ts";

// Shared migration function for legacy repositories
export async function handleLegacyRepositoryMigration(
  selectedRepo: any,
  gitSyncSettings: any,
  workspace: any,
  opts: { yes?: boolean },
  operationName: string = "operation"
): Promise<any> {
  if (selectedRepo.settings) {
    return selectedRepo; // Already migrated
  }

  // This repository is in legacy format - handle migration
  if (!gitSyncSettings.include_path || !gitSyncSettings.include_type) {
    throw new Error(
      `Repository "${selectedRepo.git_repo_resource_path}" has legacy format but workspace-level include_path or include_type is missing. This indicates corrupted git-sync settings.`
    );
  }

  const workspaceIncludePath = gitSyncSettings.include_path;
  const workspaceIncludeType = gitSyncSettings.include_type;

  if (!!process.stdout.isTTY && !opts.yes) {
    // Interactive mode - show migration prompt
    console.log(colors.yellow('\n⚠️  Legacy git-sync settings detected!'));
    console.log(`\nRepository "${selectedRepo.git_repo_resource_path}" has legacy settings format.`);
    console.log('The new format allows per-repository filter configuration.');
    if (operationName === "push") {
      console.log('This repository must be migrated before pushing settings.\n');
    } else {
      console.log('\n');
    }

View on GitHub (pinned to e474e8803c)

Solutions

  1. Repair the git-sync settings in the UI (Settings → Git Sync) so workspace-level include_path/include_type arrays exist, then retry the pull/push
  2. If quick repair isn't possible, reset the workspace git-sync configuration to defaults and re-enter the repository settings
  3. As a last resort, an admin can correct the raw settings via the API/DB so both workspace-level fields are present arrays
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/gitsync-settings/legacySettings.ts:22 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/e8308e4c66283bfd. Report an issue: GitHub.