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

Add a shared Git object cache for dependencies

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

Maintainer thường phản hồi trong vòng 1 ngày

@LunaStev đang làm issue này rồi.

Từ ngày 24/10/2026.

  • #176 của @LunaStev — đang mở

Đá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
45/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ệ
rust
Lĩnh vực
build-system

Hướng nghiên cứu

Start by locating the dependency checkout and lockfile handling paths, then read how Git sources are fetched and how --offline and --locked are enforced. The issue calls for a design covering cache identity, locking, corruption recovery, pruning, and platform paths before implementation. Done means cached objects can be reused across projects without changing lockfile-selected commits, with isolated working trees, integration tests, and cleanup documentation.

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

Mô tả

dependencies discussion feature request performance

Motivation

Every project clones each Git dependency into its own .vex/deps/<package> checkout. This duplicates objects, increases network traffic, and slows clean builds across projects and CI jobs.

Proposed direction

Use a global bare or object cache keyed by normalized source identity, while keeping project-local checkouts and exact commits controlled by vex.lock.

Requirements

  • The cache must be an optimization only; the lockfile remains authoritative.
  • --offline may use cached objects but must never access the network.
  • --locked must never change the selected commit.
  • Concurrent processes must not corrupt cache state.
  • Different URLs or credentials must not be conflated unsafely.
  • Cache paths and diagnostics must not leak credentials.

Acceptance criteria

  • Write a design covering identity, locking, corruption recovery, pruning, and platform paths.
  • Reuse cached objects without unnecessary fetches.
  • Preserve isolated project-local working trees.
  • Add integration tests proving offline reuse across two projects.
  • Document cache location and a safe cleanup procedure.
Ngôn ngữ chính
Rust
Star
1
Fork
3
Merge trung bình
6 giờ 43 phút
Pull request đã merge (30 ngày)
15

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

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 wavefnd/Vex

Tất cả issue của wavefnd/Vex

Issue tương tự

Thêm issue về Rust

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.