buildkite / buildkite/agent

git mirrors commit only fetch

Open
#1,304 0 comments 0 reactions 0 assignees View on GitHub
git-mirrors
Dominant language
Go
Stars
1.1k
Forks
378
Avg merge
2d 6h
Merged PRs (30d)
74

Description

The [git mirrors experiment fetch/checkout process](https://github.com/buildkite/agent/blob/9c399b6e987da50d61452b61318dd1617261ea02/bootstrap/bootstrap.go#L1015-L1091) doesn't currently support commit-only fetch, like [the regular fetch/checkout process](https://github.com/buildkite/agent/blob/9c399b6e987da50d61452b61318dd1617261ea02/bootstrap/bootstrap.go#L1185). This is a great way to fetch only the commit under test as an optimisation, and also sometimes is able to fetch more commits than can be seen by a bare ref, including those that have been force pushed over, or from forked repositories.

Contributor guide

Open the contributing guide

Research direction

Start in bootstrap/bootstrap.go, comparing the git mirrors fetch/checkout process around lines 1015-1091 with the regular fetch/checkout process around line 1185. Trace how the commit under test is selected and fetched, then verify that mirror-based jobs can fetch only that commit while retaining the documented optimization and reachability behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, go
Domain
ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.