Créer, remplacer et supprimer des fichiers locaux
Vérifiez et appliquez les modifications de fichiers et de dossiers locaux à l’aide de plans d’édition complets.
Utilisez Altifigence CLI 0.1.9 sous Linux pour vérifier les modifications de fichiers locaux et appliquer le plan complet au même projet.
Créer des fichiers et des dossiers
Utilisez un chemin absolu vers votre projet local. Cet exemple utilise $HOME/alti-projects/demo-project. Exécutez les commandes avec votre compte utilisateur habituel. Suspendez les autres processus d’écriture pendant la vérification et l’application d’un plan.
set -euo pipefail
PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
WORK="$(mktemp -d)"
cat > "$WORK/create.json" <<'JSON'
[
{"kind":"create-directory","path":"notes"},
{"kind":"create","path":"notes/review.txt","content":"First review\n"}
]
JSON
alti ide workspace file-plan --project "$PROJECT" \
--request "$WORK/create.json" > "$WORK/create.plan.json"Vérifiez que le code de sortie est 0, puis lisez le plan complet :
cat "$WORK/create.plan.json"Le plan possède le schéma altifigence.workspace-authoring-plan.v1. Vérifiez ses champs changes, observations et request, et conservez l’intégralité du document. Les chemins du plan sont relatifs au projet.
Appliquez le plan enregistré :
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/create.plan.json" > "$WORK/create.receipt.json"
jq '{schema, outcome}' "$WORK/create.receipt.json"Après le code de sortie 0, les champs sélectionnés du reçu sont :
{
"schema": "altifigence.workspace-file-receipt.v1",
"outcome": "committed"
}Remplacer un fichier
Lisez le fichier actuel et utilisez son SHA-256 dans la demande de remplacement. Ces exemples utilisent jq pour préparer le JSON.
alti ide workspace read --project "$PROJECT" notes/review.txt \
> "$WORK/current.json"
jq '[{kind:"replace",path:"notes/review.txt",
expected_sha256:.sha256,content:"Second review\n"}]' \
"$WORK/current.json" > "$WORK/replace.json"
alti ide workspace file-plan --project "$PROJECT" \
--request "$WORK/replace.json" > "$WORK/replace.plan.json"
cat "$WORK/replace.plan.json"Vérifiez le remplacement, puis appliquez-le :
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/replace.plan.json" > "$WORK/replace.receipt.json"
jq '{schema, outcome}' "$WORK/replace.receipt.json"Vérifiez que le code de sortie est 0 et que outcome est égal à committed.
Supprimer un fichier
Relisez le fichier pour obtenir son empreinte actuelle, puis préparez la suppression :
alti ide workspace read --project "$PROJECT" notes/review.txt \
> "$WORK/current.json"
jq '[{kind:"delete",path:"notes/review.txt",expected_sha256:.sha256}]' \
"$WORK/current.json" > "$WORK/delete.json"
alti ide workspace file-plan --project "$PROJECT" \
--request "$WORK/delete.json" > "$WORK/delete.plan.json"
cat "$WORK/delete.plan.json"Vérifiez la suppression, puis appliquez-la :
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/delete.plan.json" > "$WORK/delete.receipt.json"
jq '{schema, outcome}' "$WORK/delete.receipt.json"Vérifiez que le code de sortie est 0 et que outcome est égal à committed.
Reprendre après une modification de fichier
Si la commande indique workspace file precondition changed: notes/review.txt, relisez le fichier. Vérifiez son contenu actuel, préparez le remplacement ou la suppression souhaités avec le nouveau sha256, puis générez et vérifiez un nouveau plan avant de l’appliquer.
Si elle indique authoring plan changed or is stale; generate and review a new plan, régénérez le plan pour le même projet et vérifiez-le avant de l’appliquer.
Enregistrez les plans natifs avec les commandes ci-dessus. Un plan enregistré avec l’option globale --json se trouve dans la chaîne stdout du reçu d’exécution. Transmettez le plan natif complet à file-apply.