Tạo, thay thế và xóa tệp cục bộ

Xem xét và áp dụng các thay đổi đối với tệp và thư mục cục bộ bằng kế hoạch chỉnh sửa đầy đủ.

Dùng Altifigence CLI 0.1.9 trên Linux để xem xét thay đổi tệp cục bộ và áp dụng kế hoạch đầy đủ cho cùng dự án.

Tạo tệp và thư mục

Dùng đường dẫn tuyệt đối tới dự án cục bộ. Ví dụ này dùng $HOME/alti-projects/demo-project. Chạy các lệnh bằng tài khoản người dùng thông thường. Tạm dừng các tác vụ ghi khác trong khi xem xét và áp dụng kế hoạch.

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"

Xác nhận trạng thái thoát là 0, rồi đọc kế hoạch đầy đủ:

cat "$WORK/create.plan.json"

Kế hoạch có lược đồ altifigence.workspace-authoring-plan.v1. Xem xét changes, observations và request, đồng thời giữ nguyên toàn bộ tài liệu. Các đường dẫn trong kế hoạch là đường dẫn tương đối so với dự án.

Áp dụng kế hoạch đã lưu:

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

Sau khi trạng thái thoát là 0, các trường được chọn trong biên nhận là:

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

Thay thế tệp

Đọc tệp hiện tại và dùng SHA-256 của tệp trong yêu cầu thay thế. Các ví dụ này dùng jq để chuẩn bị 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"

Xem xét nội dung thay thế, rồi áp dụng:

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

Xác nhận trạng thái thoát là 0 và outcome bằng committed.

Xóa tệp

Đọc lại tệp để lấy mã băm hiện tại, rồi chuẩn bị thao tác xóa:

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"

Xem xét thao tác xóa, rồi áp dụng:

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

Xác nhận trạng thái thoát là 0 và outcome bằng committed.

Xử lý khi tệp đã thay đổi

Nếu lệnh báo workspace file precondition changed: notes/review.txt, hãy đọc lại tệp. Xem xét nội dung hiện tại, chuẩn bị thao tác thay thế hoặc xóa mong muốn với sha256 mới, rồi tạo và xem xét kế hoạch mới trước khi áp dụng.

Nếu lệnh báo authoring plan changed or is stale; generate and review a new plan, hãy tạo lại kế hoạch cho cùng dự án và xem xét trước khi áp dụng.

Lưu kế hoạch gốc bằng các lệnh ở trên. Kế hoạch được lưu với tùy chọn toàn cục --json nằm trong chuỗi stdout của biên nhận thực thi. Truyền toàn bộ kế hoạch gốc cho file-apply.

Thao tác thành công đầu tiên với CLI