checkout/dist
Andrew Klotz 579920382a Materialize LFS objects with an explicit git lfs checkout
Problem

On persistent/self-hosted runners that reuse a working directory across jobs, LFS-tracked files can be left as pointer files instead of real content when a lfs: false checkout precedes a lfs: true checkout of the same repo.

Sequence that triggers it:
 1. A lfs: false run sets GIT_LFS_SKIP_SMUDGE=1, so git checkout writes LFS files to the working tree as pointers.
 2. A later lfs: true run on the same worktree fetches the objects into .git/lfs, but git checkout sees the tree already at the target commit and does not re-smudge the already-present pointer files.

Result: the objects are in the local cache, but the working tree still contains pointers. The action relies on the smudge filter firing during git checkout to materialize content — which holds on a clean tree (GitHub-hosted runners) but not on a reused one.

Related: actions/checkout#270
2026-08-06 16:41:29 -07:00
..
index.js Materialize LFS objects with an explicit git lfs checkout 2026-08-06 16:41:29 -07:00
package.json upgrade module to esm and update dependencies (#2463) 2026-06-16 17:10:58 -04:00
problem-matcher.json Convert checkout to a regular action (#70) 2019-12-03 10:28:59 -05:00