Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add a shared Git object cache for dependencies

Aperta
#29 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
build-system

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.
Lingua principale
Rust
Stelle
1
Fork
3
Merge medio
6h 43m
PR unite (30g)
15

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di wavefnd/Vex

Tutte le issue di wavefnd/Vex

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.