ローカルファイルを作成、置換、削除する
完全な作成計画を使って、ローカルのファイルとフォルダーの変更を確認し、適用します。
Linux上のAltifigence CLI 0.1.9を使用してローカルファイルの変更を確認し、完全な計画を同じプロジェクトに適用します。
ファイルとフォルダーを作成する
ローカルプロジェクトの絶対パスを使用してください。この例では$HOME/alti-projects/demo-projectを使用します。通常のユーザーとしてコマンドを実行してください。計画の確認と適用中は、ほかの書き込み処理を一時停止してください。
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"終了ステータスが0であることを確認してから、完全な計画を読み取ってください。
cat "$WORK/create.plan.json"計画のスキーマはaltifigence.workspace-authoring-plan.v1です。changes、observations、requestを確認し、文書全体を保持してください。計画内のパスはプロジェクトからの相対パスです。
保存した計画を適用します。
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/create.plan.json" > "$WORK/create.receipt.json"
jq '{schema, outcome}' "$WORK/create.receipt.json"終了ステータスが0の場合、選択したレシートのフィールドは次のとおりです。
{
"schema": "altifigence.workspace-file-receipt.v1",
"outcome": "committed"
}ファイルを置換する
現在のファイルを読み取り、そのSHA-256を置換リクエストに使用してください。これらの例ではjqで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"置換内容を確認してから適用してください。
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/replace.plan.json" > "$WORK/replace.receipt.json"
jq '{schema, outcome}' "$WORK/replace.receipt.json"終了ステータスが0で、outcomeがcommittedであることを確認してください。
ファイルを削除する
ファイルをもう一度読み取って現在のダイジェストを取得し、削除を準備してください。
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"削除内容を確認してから適用してください。
alti ide workspace file-apply --project "$PROJECT" \
--request "$WORK/delete.plan.json" > "$WORK/delete.receipt.json"
jq '{schema, outcome}' "$WORK/delete.receipt.json"終了ステータスが0で、outcomeがcommittedであることを確認してください。
ファイルの変更に対処する
workspace file precondition changed: notes/review.txtと表示された場合は、ファイルをもう一度読み取ってください。現在の内容を確認し、新しいsha256で必要な置換または削除を準備して、新しい計画を生成、確認してから適用してください。
authoring plan changed or is stale; generate and review a new planと表示された場合は、同じプロジェクトの計画を再生成し、確認してから適用してください。
上記のコマンドでネイティブ計画を保存してください。グローバル--jsonを付けて保存した計画は、実行レシートのstdout文字列内にあります。完全なネイティブ計画をfile-applyに渡してください。