Aller au contenu
English

planRecoveryRestore

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

Vérifie un transfert conservé par rapport à son dépôt et renvoie un plan pour restaurer un côté dans un nouveau dossier. Les contrôles portent sur une copie temporaire vérifiée par empreintes, et rien n’est créé. Les options invalides et les contrôles en échec rejettent avec le code configuration ; un transfert, un dépôt ou un parent de destination introuvable rejette avec le code workspace.

Exemple complet et règles détaillées.

  • optionsRequis
    RecoveryRestoreOptions
    Source du transfert conservé, dépôt, nouvelle destination, côté choisi et limite d’octets de vérification.
  • options.directoryRequis
    string
    Dossier du transfert conservé, tel que l’indique details.recovery de l’erreur de synchronisation. Il doit contenir state.json et checksums.json.
  • options.repositoryRequis
    string
    Dépôt Git hôte cloné dans la destination ; il est seulement lu. Un dépôt partiel, superficiel (shallow) ou à objets alternates échoue au contrôle Git.
  • options.destinationRequis
    string
    Nouveau dossier à créer. Son parent doit exister ; le chemin ne doit pas exister et doit se trouver hors du dépôt, de ses métadonnées Git et du transfert.
  • options.sideRequis
    "previous" | "incoming"
    previous restaure le worktree hôte tel qu’il était sauvegardé avant le transfert, index Git compris ; incoming restaure les commits, changements non commités et fichiers non suivis de la sandbox.
  • options.maxBytesOptionnel
    number | undefined
    Nombre maximal d’octets du transfert copiés et hachés, 1073741824 (1 Gio) par défaut. Un dépassement rejette avec le code configuration.
  • observationOptionnel
    ObservationHub | undefined
    Hub qui reçoit l’opération recovery restore.plan à son début, à sa fin ou en cas d’échec.

Promise<RecoveryRestorePlan>

export declare function planRecoveryRestore(
  options: RecoveryRestoreOptions,
  observation?: ObservationHub,
): Promise<RecoveryRestorePlan>;