An toàn và xung đột
Thiết lập chỉ bổ sung và không phá hủy dữ liệu. Nó lập kế hoạch cho mọi tệp được quản lý trước khi một lần chạy bình thường ghi bất kỳ nội dung nào.
Xem trước
langdrift setup \
--root /path/to/product \
--project-id proj_example \
--account-id acc_example \
--name 'Example Product' \
--dry-run \
--jsonKết quả gán một trạng thái cho mỗi đường dẫn được quản lý:
create— tệp còn thiếu và sẽ được tạopreserve— JSON đã phân tích bằng giá trị mong đợiconflict— không thể tái sử dụng hoặc tạo đích một cách an toàn
Lần chạy thử kiểm tra và trả về kế hoạch này mà không ghi. Giá trị changed là false, kể cả khi có tệp sẽ được tạo.
Bảo toàn và xung đột
So sánh JSON bỏ qua khoảng trắng và thứ tự khóa đối tượng. Tệp khớp được giữ nguyên từng byte, bao gồm định dạng và dấu thời gian. Tệp hiện có không bao giờ bị ghi đè.
Các xung đột gồm:
- JSON sai định dạng hoặc bị cắt cụt
- tệp thông thường có giá trị đã phân tích khác với dự án yêu cầu hoặc lược đồ đi kèm
- phiên bản giao thức không được hỗ trợ
- đích không phải tệp thông thường
- phần tử cha bắt buộc không phải thư mục
- liên kết tượng trưng ở bất kỳ đâu trong đường dẫn được quản lý
- tùy chọn tích hợp bị thay đổi trên dự án hiện có
Nếu kiểm tra trước phát hiện bất kỳ xung đột nào, thiết lập không ghi gì, ngay cả khi còn thiếu tệp được quản lý khác. Hãy tự xem xét lý do của từng tệp.
Đường dẫn cũ .drifts/execution luôn gây xung đột. Phiên bản 0.1.0 dùng .drifts/loop và không di chuyển, đổi tên, hợp nhất hay xóa bố cục cũ.
Ghi và chạy lại
Tệp còn thiếu được tạo độc quyền, không đi theo liên kết tượng trưng. Nếu một đích xuất hiện sau bước kiểm tra trước, thiết lập giữ nguyên nó khi nội dung đã phân tích khớp. Nếu không, nó thất bại với SETUP_CONCURRENT_CHANGE.
Lần chạy lại không có thay đổi chỉ báo preserve và trả về changed: false. Lược đồ bắt buộc còn thiếu được tạo lại trong lần chạy an toàn sau.
Chuỗi thao tác ghi không phải một giao dịch hệ thống tệp. Nếu lỗi I/O hoặc thay đổi đồng thời xảy ra sau khi đã tạo một hay nhiều tệp, các tệp đó có thể vẫn tồn tại. Nội dung hiện có vẫn không bị ghi đè. Kiểm tra kế hoạch được báo, xem xét tệp không hợp lệ và chạy lại thiết lập để khôi phục những tệp vẫn còn thiếu.