Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

query whether hash / defrag transfer item content

Đang mở
#234 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
backend, networking

Hướng nghiên cứu

Start at the Store.hash and Store.defrag operations and trace their implementations across the posixfs, rest, sftp, s3, and rclone backends. Define and test the requested transfer query against the behavior in the table, including the algorithm-dependent sftp check-file probing; done means callers can determine whether item content will transfer.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

borg compact copies packs with Store.defrag. borgbackup/borg#10410 needs a Store.hash check of each source pack before the copy. Whether that check is cheap depends on the backend, and the caller cannot tell which case applies.

"Transfer" below means the item content goes over the network between the storage and the borgstore client.

backend hash defrag
posixfs no transfer (local file read) no transfer
rest no transfer (computed by borg serve --rest) no transfer
sftp no transfer if the server supports the check-file extension (OpenSSH does not; never for blake3), otherwise downloads the item downloads the source ranges, uploads the target
s3, rclone downloads the item downloads the source ranges, uploads the target

Request: a way to ask the store whether an operation transfers item content, e.g.

Store.transfers_content(op: str, algorithm: str | None = None) -> bool  # op: "hash", "defrag"

algorithm is needed because sftp check-file does not support blake3. For sftp hash, check_file_supported is only known after the first check-file attempt, so the query has to probe or return True until it is confirmed.

Ngôn ngữ chính
Python
Star
26
Fork
9
Merge trung bình
54 phút
Pull request đã merge (30 ngày)
3

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của borgbackup/borgstore

Tất cả issue của borgbackup/borgstore

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.