Crear, reemplazar y eliminar archivos locales

Revise y aplique cambios en archivos y carpetas locales mediante planes de edición completos.

Utilice Altifigence CLI 0.1.9 en Linux para revisar cambios en archivos locales y aplicar el plan completo al mismo proyecto.

Crear archivos y carpetas

Utilice una ruta absoluta a su proyecto local. Este ejemplo utiliza $HOME/alti-projects/demo-project. Ejecute los comandos con su usuario habitual. Mantenga pausados los demás procesos de escritura mientras revisa y aplica 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"

Compruebe que el estado de salida sea 0 y, después, lea el plan completo:

cat "$WORK/create.plan.json"

El plan tiene el esquema altifigence.workspace-authoring-plan.v1. Revise sus campos changes, observations y request, y conserve todo el documento. Las rutas del plan son relativas al proyecto.

Aplique el plan guardado:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/create.plan.json" > "$WORK/create.receipt.json"
jq '{schema, outcome}' "$WORK/create.receipt.json"

Tras un estado de salida 0, los campos seleccionados del comprobante son:

{
  "schema": "altifigence.workspace-file-receipt.v1",
  "outcome": "committed"
}

Reemplazar un archivo

Lea el archivo actual y utilice su SHA-256 en la solicitud de reemplazo. Estos ejemplos utilizan jq para preparar el 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"

Revise el reemplazo y, después, aplíquelo:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/replace.plan.json" > "$WORK/replace.receipt.json"
jq '{schema, outcome}' "$WORK/replace.receipt.json"

Compruebe que el estado de salida sea 0 y que outcome sea igual a committed.

Eliminar un archivo

Vuelva a leer el archivo para obtener su resumen actual y, después, prepare la eliminación:

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"

Revise la eliminación y, después, aplíquela:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/delete.plan.json" > "$WORK/delete.receipt.json"
jq '{schema, outcome}' "$WORK/delete.receipt.json"

Compruebe que el estado de salida sea 0 y que outcome sea igual a committed.

Continuar después de un cambio en el archivo

Si el comando informa de workspace file precondition changed: notes/review.txt, vuelva a leer el archivo. Revise su contenido actual, prepare el reemplazo o la eliminación previstos con el nuevo sha256, y genere y revise un plan nuevo antes de aplicarlo.

Si informa de authoring plan changed or is stale; generate and review a new plan, vuelva a generar el plan para el mismo proyecto y revíselo antes de aplicarlo.

Guarde los planes nativos con los comandos mostrados arriba. Un plan guardado con la opción global --json está dentro de la cadena stdout del comprobante de ejecución. Pase el plan nativo completo a file-apply.

Primer resultado con la CLI