Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add a shared Git object cache for dependencies

オープン
#29 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
build-system

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
Rust
スター
1
フォーク
3
平均マージ
6時間 43分
マージ済み PR(30日)
15

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wavefnd/Vex のほかの issue

wavefnd/Vex の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。