Skip to main content

scan_stashed

Function scan_stashed 

Source
pub fn scan_stashed(cwd: &Path) -> Result<Vec<PointerEntry>, Error>
Expand description

LFS pointers reachable from refs/stash and its associated WIP / index / untracked merge parents. Mirrors upstream’s lfs/gitscanner_log.go::scanStashed.

Stashes are stored as merge commits whose first parent is the HEAD at stash time; the other parent(s) are the index commit and (when git stash -u is used) the untracked-files commit. Walking the reflog for refs/stash and reading both sides of each merge diff is the way to surface every LFS pointer those commits reference.

Returns an empty vec when the repo has no stash entries (the git log -g refs/stash invocation exits non-zero in that case; upstream silently swallows that error and we do the same).