Aller au contenu
English

BranchPolicy

import type { BranchPolicy } from "@elie-laloum/outpost";

Les champs ci-dessous couvrent toutes les variantes ; la signature précise leurs combinaisons autorisées.

  • modeRequis
    "current" | "named" | "integrate"
    current travaille dans le checkout lui-même ; named travaille sur la branche name dans un worktree sous .outpost/workspaces ; integrate y crée une branche outpost/<label>-<id>, que integrate() fusionne dans la branche de base.
  • nameSelon la variante
    string
    Branche de travail du mode named, conservée à la fermeture du workspace. Une branche existante repart de sa pointe et réutilise son worktree géré ; une branche extraite hors de .outpost/workspaces échoue avec le code conflict.
  • fromSelon la variante
    string | undefined
    Révision de départ d’une nouvelle branche de travail, HEAD par défaut. Ignorée quand la branche named existe déjà.
export type BranchPolicy =
  | {
      readonly mode: "current";
    }
  | {
      readonly mode: "named";
      readonly name: string;
      readonly from?: string;
    }
  | {
      readonly mode: "integrate";
      readonly from?: string;
    };