Creare, sostituire ed eliminare file locali
Esamina e applica le modifiche a file e cartelle locali mediante piani di modifica completi.
Utilizza Altifigence CLI 0.1.9 su Linux per esaminare le modifiche ai file locali e applicare il piano completo allo stesso progetto.
Creare file e cartelle
Utilizza un percorso assoluto del progetto locale. Questo esempio utilizza $HOME/alti-projects/demo-project. Esegui i comandi con il tuo normale account utente. Mantieni sospesi gli altri processi di scrittura mentre esamini e applichi un piano.
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"Verifica che il codice di uscita sia 0, quindi leggi il piano completo:
cat "$WORK/create.plan.json"Il piano ha lo schema altifigence.workspace-authoring-plan.v1. Esamina changes, observations e request e conserva l’intero documento. I percorsi pianificati sono relativi al progetto.
Applica il piano salvato:
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/create.plan.json" > "$WORK/create.receipt.json"
jq '{schema, outcome}' "$WORK/create.receipt.json"Dopo il codice di uscita 0, i campi selezionati della ricevuta sono:
{
"schema": "altifigence.workspace-file-receipt.v1",
"outcome": "committed"
}Sostituire un file
Leggi il file attuale e utilizza il relativo SHA-256 nella richiesta di sostituzione. Questi esempi utilizzano jq per preparare il 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"Esamina la sostituzione, quindi applicala:
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/replace.plan.json" > "$WORK/replace.receipt.json"
jq '{schema, outcome}' "$WORK/replace.receipt.json"Verifica che il codice di uscita sia 0 e che outcome sia uguale a committed.
Eliminare un file
Leggi nuovamente il file per ottenere il digest attuale, quindi prepara l’eliminazione:
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"Esamina l’eliminazione, quindi applicala:
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/delete.plan.json" > "$WORK/delete.receipt.json"
jq '{schema, outcome}' "$WORK/delete.receipt.json"Verifica che il codice di uscita sia 0 e che outcome sia uguale a committed.
Riprendere dopo una modifica al file
Se il comando segnala workspace file precondition changed: notes/review.txt, leggi nuovamente il file. Esamina il contenuto attuale, prepara la sostituzione o l’eliminazione desiderata con il nuovo sha256 e genera ed esamina un nuovo piano prima di applicarlo.
Se segnala authoring plan changed or is stale; generate and review a new plan, rigenera il piano per lo stesso progetto ed esaminalo prima di applicarlo.
Salva i piani nativi con i comandi mostrati sopra. Un piano salvato con l’opzione globale --json si trova nella stringa stdout della ricevuta di esecuzione. Passa il piano nativo completo a file-apply.